Deliverect Inventory API

Inventory operations for the Deliverect POS API.

OpenAPI Specification

deliverect-inventory-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Deliverect Channel Accounts Inventory API
  description: Integrate ordering channels and marketplaces with Deliverect to create and cancel orders, sync menus, snooze products, update store and courier status, and exchange payment events. Authenticates with OAuth 2.0 machine-to-machine access tokens scoped via genericChannel.
  version: '1.0'
  x-generated-from: documentation
  x-source-url: https://developers.deliverect.com/reference
  x-last-validated: '2026-06-02'
  contact:
    name: Kin Lane
    email: kin@apievangelist.com
  license:
    name: All Rights Reserved
servers:
- url: https://api.deliverect.com
  description: Production
- url: https://api.staging.deliverect.com
  description: Staging
security:
- oauth2: []
tags:
- name: Inventory
  description: Inventory operations for the Deliverect POS API.
paths:
  /catalog/accounts/{accountId}/inventoryUploadUrl:
    post:
      summary: Deliverect Inventory Update
      description: To support changes to item availability, Deliverect can receive an inventory file.
      operationId: inventory_update
      parameters:
      - name: accountId
        in: path
        schema:
          type: string
        required: true
        description: The accountId value.
        example: 5b71c6489f00290d4
      - name: X-Deliverect-Version
        in: header
        schema:
          type: string
          default: retail
        required: true
        description: The X-Deliverect-Version value.
        example: retail
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                callbackUrl:
                  type: string
                  description: Will be used to notify you when the inventory file has been processed.
                  example: https://example.com/path/abc123
            examples:
              Request Example:
                value:
                  callbackUrl: https://example.com/inventoryCallback
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n    \"fileId\": \"4e*********************************c1\",\n    \"signedUrl\": \"https://storage.googleapis.com/...\",\n    \"headers\": {\n        \"x-goog-meta-user\": \"61********************b4\",\n        \"x-goog-meta-callback\": \"https://example.com/inventoryCallback\",\n        \"content-type\": \"text/csv\",\n        \"Host\": \"storage.googleapis.com\"\n    }\n}"
              schema:
                type: object
                properties:
                  fileId:
                    type: string
                    example: 4e*********************************c1
                  signedUrl:
                    type: string
                    example: https://storage.googleapis.com/...
                  headers:
                    type: object
                    properties:
                      x-goog-meta-user:
                        type: string
                        example: 61********************b4
                      x-goog-meta-callback:
                        type: string
                        example: https://example.com/inventoryCallback
                      content-type:
                        type: string
                        example: text/csv
                      Host:
                        type: string
                        example: storage.googleapis.com
        '400':
          description: '400'
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Bad Request:
                  summary: Bad Request
                  value: '{}'
      x-readme:
        code-samples:
        - language: python
          name: Python
          code: 'import requests


            url = "https://api.staging.deliverect.io/catalog/accounts/{accountId}/inventoryUploadUrl"


            payload = {''callbackUrl'': ''https://example.com/inventoryCallback''}

            headers = {''Authorization'': ''Bearer {TOKEN}''}


            response = requests.post(url, headers=headers, json=payload)


            print(response.text)'
        samples-languages:
        - python
      tags:
      - Inventory
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 machine-to-machine client-credentials. Exchange client_id/client_secret at POST /oauth/token for a Bearer access_token.
      flows:
        clientCredentials:
          tokenUrl: https://api.deliverect.com/oauth/token
          scopes: {}