Deliverect Upsell API

Upsell operations for the Deliverect Commerce API.

OpenAPI Specification

deliverect-upsell-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Deliverect Channel Accounts Upsell 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: Upsell
  description: Upsell operations for the Deliverect Commerce API.
paths:
  /upsell/channel/{channelLinkId}:
    post:
      tags:
      - Upsell
      summary: Deliverect Get Upsell Items
      operationId: getUpsellItems
      parameters:
      - name: channelLinkId
        in: path
        required: true
        schema:
          type: string
        description: The unique identifier of a channel link for a store location
        example: 5e8abc11dec0001a009b
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - account
              - channelLink
              - location
              - items
              properties:
                account:
                  type: string
                  description: The unique identifier of a customer account
                  example: string
                channelLink:
                  type: string
                  description: The unique identifier of a channel link within a store location
                  example: string
                location:
                  type: string
                  description: The unique identifier of a location within a customer account
                  example: string
                items:
                  type: array
                  items:
                    type: object
                    required:
                    - plu
                    - quantity
                    properties:
                      plu:
                        type: string
                        description: Unique identifier for a product
                        example: PIE1
                      quantity:
                        type: integer
                        default: 1
                        description: Amount of items ordered
                        example: 1
                  description: Items in the order which upsell recommendations will be based on
            example:
              account: 67f93fc709a75f7e9e36da7f
              location: 67f9413754e4db73b3ed1e9f
              channelLink: 67f94128c490d2ed895a34e7
              items:
              - plu: PLU1
                quantity: 1
              - plu: PLU2
                quantity: 2
              - plu: PLU3
                quantity: 1
            examples:
              Example:
                summary: Example
                value: "{\n  \"account\": \"{accountId}\",\n  \"location\": \"{locationId},\n  \"channelLink\": \"{channelLinkId}\",\n  \"items\": [\n    {\n      \"plu\": \"PLU-1\",\n      \"quantity\": 1\n    },\n    {\n      \"plu\": \"PLU-2\",\n      \"quantity\": 2\n    },\n    {\n      \"plu\": \"PLU-3\",\n      \"quantity\": 1\n    }\n  ]\n}"
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        plu:
                          type: string
                          example: PIE1
                        quantity:
                          type: integer
                          example: 1
                    description: 'Items which have a high likelihood of being ordered together with the items included in the provided order. '
                  upsellMetricId:
                    type: string
                    example: 609a1b2c3d4e5f6a7b8c9d0e
              examples:
                OK:
                  value:
                    items:
                    - plu: PLU-4
                      quantity: 1
                    - plu: PLU-5
                      quantity: 1
                    - plu: PLU-6
                      quantity: 1
                    upsellMetricId: '{upsellMetricId}'
                  summary: OK
        '403':
          description: Forbidden
          content:
            application/json:
              examples:
                ? ''
                : value:
                    code: insufficient_permissions
                    description: Not allowed to access this location.
                  summary: ''
                Forbidden:
                  summary: Forbidden
                  value:
                    code: insufficient_permissions
                    description: Not allowed to access this location.
        '422':
          description: Validation Error
          content:
            application/json:
              examples:
                ? ''
                : value:
                  - type: missing
                    loc:
                    - location
                    msg: Field required
                  summary: ''
                Unprocessable Entity:
                  summary: Unprocessable Entity
                  value:
                  - type: missing
                    loc:
                    - location
                    msg: Field required
                    input:
                      account: 67f93fc709a75f7e9e36da7f
                      channelLink: 67f94128c490d2ed895a34e7
                      items:
                      - <Item plu:PLU1 price:0 quantity:0 type:1 subItems:[]>
                      - <Item plu:PLU2 price:0 quantity:0 type:1 subItems:[]>
                      - <Item plu:PLU3 price:0 quantity:0 type:1 subItems:[]>
                    url: https://errors.pydantic.dev/2.10/v/missing
      description: Deliverect Get Upsell Items
      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: {}