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: - - - 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: {}