openapi: 3.0.3 info: title: RecVue Authentication Orders API description: 'RecVue is an enterprise revenue management platform (RevOS) covering order-to-cash, billing, usage-based monetization, pricing, and ASC 606 / IFRS 15 revenue recognition. This OpenAPI is derived from RecVue''s public developer reference at https://developer.recvue.com. The base URLs, the OAuth2 client-credentials authentication, and the paths for representative operations (for example GET /orders) are confirmed from that public reference; the full request/response schemas are honestly modeled from the documented resource operations rather than reproduced field-for-field, and RecVue tenants (production and sandbox) are provisioned through an enterprise sales process. Endpoints marked with `x-endpointsModeled: true` reflect documented operations whose exact path or payload was not verified verbatim. Treat this as a navigational model, not a generated client contract; consult developer.recvue.com/reference for authoritative detail.' version: '2.0' contact: name: RecVue url: https://www.recvue.com/ servers: - url: https://api.recvue.com/api/v2.0 description: Production - url: https://sandbox-api.recvue.com/api/v2.0 description: Sandbox security: - oauth2ClientCredentials: [] tags: - name: Orders description: Order and order-line lifecycle (order-to-cash). paths: /orders: get: operationId: getOrders tags: - Orders summary: Get orders description: Retrieves a paginated list of orders with comprehensive filtering options. parameters: - name: page in: query schema: type: integer - name: limit in: query schema: type: integer responses: '200': description: A paginated list of orders. content: application/json: schema: $ref: '#/components/schemas/OrderList' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createOrder tags: - Orders summary: Create order description: Creates an order. Supports hundreds of standard and custom fields including revenue settings and billing associations. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Order' responses: '200': description: The created order. content: application/json: schema: $ref: '#/components/schemas/Order' '401': $ref: '#/components/responses/Unauthorized' /orders/{orderId}: parameters: - name: orderId in: path required: true schema: type: string get: operationId: getOrderById tags: - Orders summary: Get order by ID x-endpointsModeled: true responses: '200': description: The order. content: application/json: schema: $ref: '#/components/schemas/Order' '401': $ref: '#/components/responses/Unauthorized' put: operationId: updateOrder tags: - Orders summary: Update order x-endpointsModeled: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Order' responses: '200': description: The updated order. content: application/json: schema: $ref: '#/components/schemas/Order' delete: operationId: deleteOrder tags: - Orders summary: Delete order description: Irreversible operation removing an order and its lines. x-endpointsModeled: true responses: '204': description: Deleted. /orders/{orderId}/activate: post: operationId: activateOrder tags: - Orders summary: Activate order description: Enables billing schedule generation for the order. x-endpointsModeled: true parameters: - name: orderId in: path required: true schema: type: string responses: '200': description: The activated order. content: application/json: schema: $ref: '#/components/schemas/Order' /orders/{orderId}/terminate: post: operationId: terminateOrder tags: - Orders summary: Terminate order description: Full or partial cancellation with credit options. x-endpointsModeled: true parameters: - name: orderId in: path required: true schema: type: string responses: '200': description: The terminated order. content: application/json: schema: $ref: '#/components/schemas/Order' components: schemas: OrderLine: type: object properties: lineId: type: string productId: type: string quantity: type: number unitPrice: type: number priceListId: type: string revenueFlag: type: boolean additionalProperties: true OrderList: type: object properties: data: type: array items: $ref: '#/components/schemas/Order' page: type: integer total: type: integer Error: type: object properties: code: type: string message: type: string Order: type: object description: An order. RecVue orders carry hundreds of standard and custom fields; only a representative subset is modeled here. properties: orderId: type: string orderNumber: type: string externalReference: type: string orderType: type: string customerAccountNumber: type: string status: type: string startDate: type: string format: date endDate: type: string format: date currency: type: string lines: type: array items: $ref: '#/components/schemas/OrderLine' additionalProperties: true responses: Unauthorized: description: Authentication failed or token is missing/expired. content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: oauth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: https://api.recvue.com/api/v2.0/api/scim/oauth/token scopes: {}