RecVue Orders API

Order and order-line lifecycle (order-to-cash).

OpenAPI Specification

recvue-orders-api-openapi.yml Raw ↑
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: {}