Ordergroove Orders API

Recurring orders generated by subscriptions.

OpenAPI Specification

ordergroove-orders-api-openapi.yml Raw ↑
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).