openapi: 3.0.3 info: title: Ordergroove REST Customers Orders API description: 'The Ordergroove REST API operates an enterprise subscription and relationship-commerce program on top of a merchant''s eCommerce store. It is organized around a four-object data model - Customer, Subscription, Item, and Order - plus supporting resources for Products, Offers and Incentives, Payments, Addresses, and Entitlements. Two authentication scopes exist: an Application API scope for server-to-server calls using an x-api-key header (one of ten keys per store), and a Storefront API scope using an HMAC-SHA256-signed request scoped to a single customer. All traffic is HTTPS only. This document models the publicly documented REST surface at restapi.ordergroove.com; endpoint paths are drawn from the public API reference. Ordergroove is an enterprise platform sold through sales, so an account and API keys are required to call the API, but the reference is publicly readable.' version: '1.0' contact: name: Ordergroove Developer url: https://developer.ordergroove.com servers: - url: https://restapi.ordergroove.com description: Production - url: https://staging.restapi.ordergroove.com description: Staging security: - apiKeyAuth: [] tags: - name: Orders description: Recurring orders generated by subscriptions. paths: /orders/: get: operationId: listOrders tags: - Orders summary: List orders parameters: - name: customer in: query schema: type: string - name: status in: query schema: type: string responses: '200': description: A paginated list of orders. content: application/json: schema: $ref: '#/components/schemas/OrderList' '401': $ref: '#/components/responses/Unauthorized' /orders/{public_id}/: get: operationId: retrieveOrder tags: - Orders summary: Retrieve an order parameters: - $ref: '#/components/parameters/PublicId' responses: '200': description: An order. content: application/json: schema: $ref: '#/components/schemas/Order' /orders/{public_id}/cancel/: post: operationId: cancelOrder tags: - Orders summary: Cancel an order parameters: - $ref: '#/components/parameters/PublicId' responses: '200': description: The cancelled order. content: application/json: schema: $ref: '#/components/schemas/Order' /orders/{public_id}/send_now/: post: operationId: sendOrderNow tags: - Orders summary: Send an order now parameters: - $ref: '#/components/parameters/PublicId' responses: '200': description: The updated order. content: application/json: schema: $ref: '#/components/schemas/Order' components: schemas: OrderList: type: object properties: results: type: array items: $ref: '#/components/schemas/Order' next: type: string nullable: true previous: type: string nullable: true Order: type: object properties: id: type: string public_id: type: string customer_id: type: string place: type: string format: date-time status: type: string description: 'Order status: unsent, pending, success, rejected, etc.' sub_total: type: string shipping_total: type: string total: type: string order_merchant_id: type: string payment_id: type: string shipping_address_id: type: string responses: Unauthorized: description: Authentication failed or the API key is missing or invalid. parameters: PublicId: name: public_id in: path required: true schema: type: string description: The public identifier of the resource. securitySchemes: apiKeyAuth: type: apiKey in: header name: x-api-key description: Application API scope. Send one of the ten store API keys in the x-api-key header for server-to-server requests. Storefront requests use an HMAC-SHA256 signature scoped to a single customer instead (out of band of this scheme).