openapi: 3.2.0 info: version: 1.0.0 title: Subskribe Order API servers: - url: https://api.app.subskribe.com security: - ApiKeyAuth: [] tags: - name: Order paths: /rh/orders/{orderIdentifier}: get: tags: - Order summary: Get an order by its identifier description: '' operationId: getOrder_1 parameters: - name: orderIdentifier in: path description: The order identifier required: true schema: type: string responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/Order' /rh/orders/{orderIdentifier}/memoizedInvoiceItems: get: tags: - Order summary: Compute memoized invoice line items for given order description: '' operationId: getMemoizedInvoiceItems parameters: - name: orderIdentifier in: path description: The order identifier required: true schema: type: string - name: roundingAllocation in: query description: rounding allocation for memoization, defaults to LAST_ELEMENT if not present required: false schema: type: string responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/Order' /rh/orders: post: tags: - Order operationId: postBillableOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/NewOrderRequest' responses: default: description: successful operation components: schemas: RecurrenceJson: type: object required: - cycle - step properties: cycle: type: string enum: - DAY - MONTH - QUARTER - SEMI_ANNUAL - YEAR - PAID_IN_FULL - CUSTOM step: type: integer format: int32 minimum: 1 NewOrderRequest: type: object required: - order properties: order: $ref: '#/components/schemas/NewOrderInput' validateStructure: type: boolean readOnly: true Factor: type: object required: - id - name - value properties: name: type: string readOnly: true id: type: string readOnly: true value: type: number readOnly: true Order: type: object required: - billingContactId - billingCycle - billingTerm - buyerAccountId - currency - endDate - listAmount - orderIdentifier - orderStatus - orderType - paymentTerm - shippingContactId - startDate - totalAmount properties: entityId: type: string readOnly: true name: type: string readOnly: true orderIdentifier: type: string readOnly: true buyerAccountId: type: string readOnly: true shippingContactId: type: string readOnly: true billingContactId: type: string readOnly: true currency: type: string readOnly: true paymentTerm: type: string readOnly: true startDate: type: integer format: int64 readOnly: true endDate: type: integer format: int64 readOnly: true billingAnchorDate: type: integer format: int64 readOnly: true periodMetadata: type: array readOnly: true items: $ref: '#/components/schemas/OrderPeriodMetadata' billingCycle: $ref: '#/components/schemas/RecurrenceJson' billingTerm: type: string readOnly: true enum: - UP_FRONT - IN_ARREARS listAmount: type: number readOnly: true totalAmount: type: number readOnly: true submittedBy: type: string readOnly: true purchaseOrderRequiredForInvoicing: type: boolean readOnly: true purchaseOrderNumber: type: string readOnly: true orderType: type: string readOnly: true enum: - NEW - AMENDMENT - CANCEL - RENEWAL - RESTRUCTURE orderStatus: type: string readOnly: true enum: - DRAFT - SUBMITTED - APPROVED - EXECUTED - EXPIRED orderLineItems: type: array readOnly: true items: $ref: '#/components/schemas/OrderLineItem' subscriptionId: type: string readOnly: true NewOrderLineItemInput: type: object required: - endDate - lineItemIdentifier - listAmount - listUnitPrice - pricingBlock - sellAmount - sellUnitPrice - sku - startDate properties: lineItemIdentifier: type: string readOnly: true sku: type: string readOnly: true groupId: type: string readOnly: true startDate: type: integer format: int64 readOnly: true endDate: type: integer format: int64 readOnly: true listUnitPrice: type: number readOnly: true sellUnitPrice: type: number readOnly: true sellAmount: type: number readOnly: true listAmount: type: number readOnly: true factors: type: array readOnly: true items: $ref: '#/components/schemas/Factor' pricingBlock: type: string readOnly: true renewable: type: boolean readOnly: true billingCycle: $ref: '#/components/schemas/RecurrenceJson' customAttributes: type: string readOnly: true OrderLineItem: type: object required: - actionType - endDate - lineItemIdentifier - listAmount - listUnitPrice - pricingBlock - sellAmount - sellUnitPrice - sku - startDate properties: lineItemIdentifier: type: string readOnly: true sku: type: string readOnly: true groupId: type: string readOnly: true startDate: type: integer format: int64 readOnly: true endDate: type: integer format: int64 readOnly: true listUnitPrice: type: number readOnly: true sellUnitPrice: type: number readOnly: true sellAmount: type: number readOnly: true listAmount: type: number readOnly: true factors: type: array readOnly: true items: $ref: '#/components/schemas/Factor' pricingBlock: type: string readOnly: true renewable: type: boolean readOnly: true billingCycle: $ref: '#/components/schemas/RecurrenceJson' customAttributes: type: string readOnly: true actionType: type: string readOnly: true enum: - ADD - UPDATE - REMOVE - RENEWAL - NONE - MISSING_RENEWAL - RESTRUCTURE subscriptionChargeId: type: string readOnly: true subscriptionChargeGroupId: type: string readOnly: true NewOrderInput: type: object required: - billingContactId - billingCycle - billingTerm - buyerAccountId - currency - endDate - listAmount - orderIdentifier - paymentTerm - shippingContactId - startDate - totalAmount properties: entityId: type: string readOnly: true name: type: string readOnly: true orderIdentifier: type: string readOnly: true buyerAccountId: type: string readOnly: true shippingContactId: type: string readOnly: true billingContactId: type: string readOnly: true currency: type: string readOnly: true paymentTerm: type: string readOnly: true startDate: type: integer format: int64 readOnly: true endDate: type: integer format: int64 readOnly: true billingAnchorDate: type: integer format: int64 readOnly: true periodMetadata: type: array readOnly: true items: $ref: '#/components/schemas/OrderPeriodMetadata' billingCycle: $ref: '#/components/schemas/RecurrenceJson' billingTerm: type: string readOnly: true enum: - UP_FRONT - IN_ARREARS listAmount: type: number readOnly: true totalAmount: type: number readOnly: true submittedBy: type: string readOnly: true purchaseOrderRequiredForInvoicing: type: boolean readOnly: true purchaseOrderNumber: type: string readOnly: true orderLineItems: type: array readOnly: true items: $ref: '#/components/schemas/NewOrderLineItemInput' OrderPeriodMetadata: type: object required: - endDate - startDate properties: startDate: type: integer format: int64 readOnly: true endDate: type: integer format: int64 readOnly: true metadata: type: object readOnly: true additionalProperties: type: object securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key