openapi: 3.1.0 info: title: Deliverect Channel Accounts Customers 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: Customers description: Customers operations for the Deliverect CRM API. paths: /crm/{accountId}/customers: post: description: Endpoint used to register a new customer responses: '200': description: '' content: application/json: examples: OK: summary: OK value: externalId: 62********************1o loyaltyProviderId: VjaG***0cm9 deliveryAddresses: - street: Main Street subpremise: Unit 210 area: Irvine Business Complex city: Irvine postalCode: '92614' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 id: 62********************6y default: true - street: 5678 Ocean View Drive subpremise: Apt 5B area: Pacific Beach city: San Diego postalCode: '92109' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 id: 62********************8p default: false billingAddress: street: 9480 Talbert and Bushard Street subpremise: Suite 12 area: Downtown Fountain Valley city: Fountain Valley postalCode: '92708' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 metadata: {} vehicles: - id: 62********************3b make: honda model: civic color: yellow default: true - id: 62********************7h make: toyota model: corolla color: blue default: false id: 62********************1m accountId: 62********************8g channel: 10000 created: YYYY-MM-DDTHH:mm:ss.SSSSSSZ updated: YYYY-MM-DDTHH:mm:ss.SSSSSSZ contact: email: email@email.com firstName: John lastName: Doe birthdate: '1970-01-01' phone: '+5519999999999' fullName: John Doe favorites: - type: order orderId: 62********************9v label: My favorite order - type: order orderId: 62********************3d label: My 2nd favorite order - type: item item: '123' - type: item item: ABC - type: store storeId: 62********************0s - type: store storeId: 62********************7m schema: type: object properties: id: type: string example: '{id}' accountId: type: string example: '{accountId}' externalId: type: string example: '{externalId}' channel: type: string example: '{channel}' created: type: string example: YYYY-MM-DDTHH:mm:ss.SSSSSSZ updated: type: string example: YYYY-MM-DDTHH:mm:ss.SSSSSSZ contact: type: object properties: email: type: string example: '{email}' firstName: type: string example: '{firstName}' lastName: type: string example: '{lastName}' phone: type: string example: '{phone}' fullName: type: string example: '{fullName}' deliveryAddress: type: object properties: country: type: string example: '{countryCode}' stateOrProvince: type: string example: '{stateOrProvince}' city: type: string example: '{city}' streetName: type: string example: '{streetName}' postalCode: type: string example: '{postalCode}' houseNumber: type: string example: '{houseNumber}' billingAddress: type: object properties: country: type: string example: '{countryCode}' stateOrProvince: type: string example: '{stateOrProvince}' city: type: string example: '{city}' streetName: type: string example: '{streetName}' postalCode: type: string example: '{postalCode}' houseNumber: type: string example: '{houseNumber}' metadata: type: object properties: vehicle: type: object properties: make: type: string example: '{vehicleMake}' model: type: string example: '{vehicleModel}' color: type: string example: '{vehicleColor}' favorites: type: array items: type: object properties: type: type: string example: order orderIds: type: array items: type: object properties: {} parameters: - in: path name: accountId schema: type: string required: true description: The accountId value. example: 5b71c6489f00290d4 requestBody: content: application/json: schema: type: object properties: contact: type: object properties: email: type: string example: customer@example.com firstName: type: string example: Deliverect's Pizza Place lastName: type: string example: Deliverect's Pizza Place birthdate: type: string example: '2026-03-15T14:30:00Z' phone: type: string example: '+15555550123' required: - email externalId: type: string example: 609a1b2c3d4e5f6a7b8c9d0e loyaltyProviderId: type: string example: 609a1b2c3d4e5f6a7b8c9d0e deliveryAddresses: type: array items: properties: street: type: string example: string subpremise: type: string example: string city: type: string example: string stateOrProvince: type: string example: string postalCode: type: string example: string country: type: string example: BE default: type: boolean example: true area: type: string example: string coordinates: type: array items: type: number format: float example: 1.0 type: object billingAddress: type: object properties: street: type: string example: string subpremise: type: string example: string city: type: string example: string stateOrProvince: type: string example: string postalCode: type: string example: string country: type: string example: BE area: type: string example: string coordinates: type: array items: type: number format: float example: 1.0 metadata: type: object properties: {} vehicles: type: array items: properties: make: type: string example: string model: type: string example: string color: type: string example: string default: type: boolean example: true type: object required: - contact examples: Example: summary: Example value: email: email@email.com tags: - Customers summary: Deliverect Create Customer operationId: post_crm_accountid_customers x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/{accountId}/customers/lookup: post: description: Deliverect Lookup Customer by Email responses: '200': description: '' content: application/json: examples: OK: summary: OK value: externalId: 62********************1o loyaltyProviderId: VjaG***0cm9 deliveryAddresses: - street: Main Street subpremise: Unit 210 area: Irvine Business Complex city: Irvine postalCode: '92614' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 id: 62********************6y default: true - street: 5678 Ocean View Drive subpremise: Apt 5B area: Pacific Beach city: San Diego postalCode: '92109' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 id: 62********************8p default: false billingAddress: street: 9480 Talbert and Bushard Street subpremise: Suite 12 area: Downtown Fountain Valley city: Fountain Valley postalCode: '92708' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 metadata: {} vehicles: - id: 62********************3b make: honda model: civic color: yellow default: true - id: 62********************7h make: toyota model: corolla color: blue default: false id: 62********************1m accountId: 62********************8g channel: 10000 created: YYYY-MM-DDTHH:mm:ss.SSSSSSZ updated: YYYY-MM-DDTHH:mm:ss.SSSSSSZ contact: email: email@email.com firstName: John lastName: Doe birthdate: '1970-01-01' phone: '+5519999999999' fullName: John Doe favorites: - type: order orderId: 62********************9v label: My favorite order - type: order orderId: 62********************3d label: My 2nd favorite order - type: item item: '123' - type: item item: ABC - type: store storeId: 62********************0s - type: store storeId: 62********************7m schema: type: object properties: id: type: string example: '{id}' accountId: type: string example: '{accountId}' externalId: type: string example: '{externalId}' channel: type: string example: '{channel}' created: type: string example: YYYY-MM-DDTHH:mm:ss.SSSSSSZ updated: type: string example: YYYY-MM-DDTHH:mm:ss.SSSSSSZ contact: type: object properties: email: type: string example: '{email}' firstName: type: string example: '{firstName}' lastName: type: string example: '{lastName}' phone: type: string example: '{phone}' fullName: type: string example: '{fullName}' deliveryAddress: type: object properties: country: type: string example: '{countryCode}' stateOrProvince: type: string example: '{stateOrProvince}' city: type: string example: '{city}' streetName: type: string example: '{streetName}' postalCode: type: string example: '{postalCode}' houseNumber: type: string example: '{houseNumber}' billingAddress: type: object properties: country: type: string example: '{countryCode}' stateOrProvince: type: string example: '{stateOrProvince}' city: type: string example: '{city}' streetName: type: string example: '{streetName}' postalCode: type: string example: '{postalCode}' houseNumber: type: string example: '{houseNumber}' metadata: type: object properties: vehicle: type: object properties: make: type: string example: '{vehicleMake}' model: type: string example: '{vehicleModel}' color: type: string example: '{vehicleColor}' favorites: type: array items: type: object properties: type: type: string example: order orderIds: type: array items: type: object properties: {} parameters: - in: path name: accountId schema: type: string required: true description: The accountId value. example: 5b71c6489f00290d4 requestBody: content: application/json: schema: type: object properties: email: type: string example: customer@example.com required: - email examples: Example: summary: Example value: email: email@email.com tags: - Customers summary: Deliverect Lookup Customer by Email operationId: post_crm_accountid_customers_lookup x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/{accountId}/customers/{crmProfileId}: get: description: Deliverect Customer Profile responses: '200': description: '' content: application/json: examples: OK: summary: OK value: externalId: f965248c-3a00 loyaltyProviderId: VjaG***0cm9 deliveryAddresses: - street: Main Street subpremise: Unit 210 area: Irvine Business Complex city: Irvine postalCode: '92614' stateOrProvince: CA country: US coordinates: - 33.674 - -117.838 id: 61********************b1 default: true - street: 5678 Ocean View Drive subpremise: Apt 5B area: Pacific Beach city: San Diego postalCode: '92109' stateOrProvince: CA country: US coordinates: - 32.8 - -117.25 id: 61********************b2 default: false billingAddress: street: 9480 Talbert and Bushard Street subpremise: Suite 12 area: Downtown Fountain Valley city: Fountain Valley postalCode: '92708' stateOrProvince: CA country: US coordinates: - 33.709 - -117.953 metadata: {} vehicles: - id: 61********************b3 make: honda model: civic color: yellow default: true - id: 61********************b2 make: toyota model: corolla color: blue default: false id: 62********************7c accountId: 62********************3c channel: 10000 created: YYYY-MM-DDTHH:mm:ss.SSSSSSZ updated: YYYY-MM-DDTHH:mm:ss.SSSSSSZ contact: email: email@email.com firstName: John lastName: Doe phone: '+14048091678' birthdate: '1970-01-01T00:00:00Z' fullName: John Doe favorites: [] schema: type: object properties: id: type: string example: '{id}' accountId: type: string example: '{accountId}' externalId: type: string example: '{externalId}' channel: type: string example: '{channel}' created: type: string example: YYYY-MM-DDTHH:mm:ss.SSSSSSZ updated: type: string example: YYYY-MM-DDTHH:mm:ss.SSSSSSZ contact: type: object properties: email: type: string example: '{email}' firstName: type: string example: '{firstName}' lastName: type: string example: '{lastName}' phone: type: string example: '{phone}' fullName: type: string example: '{fullName}' deliveryAddress: type: object properties: country: type: string example: '{countryCode}' stateOrProvince: type: string example: '{stateOrProvince}' city: type: string example: '{city}' streetName: type: string example: '{streetName}' postalCode: type: string example: '{postalCode}' houseNumber: type: string example: '{houseNumber}' billingAddress: type: object properties: country: type: string example: '{countryCode}' stateOrProvince: type: string example: '{stateOrProvince}' city: type: string example: '{city}' streetName: type: string example: '{streetName}' postalCode: type: string example: '{postalCode}' houseNumber: type: string example: '{houseNumber}' metadata: type: object properties: vehicle: type: object properties: make: type: string example: '{vehicleMake}' model: type: string example: '{vehicleModel}' color: type: string example: '{vehicleColor}' favorites: type: array items: type: object properties: type: type: string example: order orderIds: type: array items: type: object properties: {} parameters: - in: path name: crmProfileId schema: type: string required: true description: The crmProfileId value. example: 609a1b2c3d4e5f6a7b8c9d0e - in: path name: accountId schema: type: string required: true description: The accountId value. example: 5b71c6489f00290d4 tags: - Customers summary: Deliverect Customer Profile operationId: get_crm_accountid_customers_crmprofileid x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: description: Deliverect Update Customer Profile parameters: - in: path name: crmProfileId schema: type: string required: true description: The crmProfileId value. example: 609a1b2c3d4e5f6a7b8c9d0e - in: path name: accountId schema: type: string required: true description: The accountId value. example: 5b71c6489f00290d4 requestBody: content: application/json: schema: type: object properties: contact: type: object properties: email: type: string example: customer@example.com firstName: type: string example: Deliverect's Pizza Place lastName: type: string example: Deliverect's Pizza Place birthdate: type: string example: '2026-03-15T14:30:00Z' phone: type: string example: '+15555550123' externalId: type: string example: 609a1b2c3d4e5f6a7b8c9d0e loyaltyProviderId: type: string example: 609a1b2c3d4e5f6a7b8c9d0e deliveryAddresses: type: array items: type: object properties: street: type: string example: string subpremise: type: string example: string city: type: string example: string stateOrProvince: type: string example: string postalCode: type: string example: string country: type: string example: BE default: type: boolean example: true area: type: string example: string coordinates: type: string example: string billingAddress: type: object properties: street: type: string example: string subpremise: type: string example: string city: type: string example: string stateOrProvince: type: string example: string postalCode: type: string example: string country: type: string example: BE area: type: string example: string coordinates: type: string example: string metadata: type: object properties: {} vehicles: type: array items: type: object properties: make: type: string example: string model: type: string example: string color: type: string example: string default: type: boolean example: true examples: Example: summary: Example value: externalId: 62********************1o loyaltyProviderId: VjaGFuZ0B0cm9 deliveryAddresses: - street: Main Street subPremise: Unit 210 area: Irvine Business Complex city: Irvine stateOrProvince: CA postalCode: '92614' country: US coordinates: - 40.6456946 - -73.9143276 default: true - street: 5678 Ocean View Drive subPremise: Apt 5B area: Pacific Beach city: San Diego stateOrProvince: CA postalCode: '92109' country: US coordinates: - 40.6456946 - -73.9143276 default: false billingAddress: street: 9480 Talbert and Bushard Street subPremise: Suite 12 area: Downtown Fountain Valley city: Fountain Valley stateOrProvince: CA postalCode: '92708' country: US coordinates: - 40.6456946 - -73.9143276 metadata: {} vehicles: - make: Honda model: Civic color: Yellow default: true - make: Toyota model: Corolla color: Blue default: false contact: email: email@email.com firstName: John lastName: Doe birthdate: '1970-01-01' phone: '+14048555666' favorites: - type: order orderId: 62********************3x label: My favorite order - type: order orderId: 62********************3y label: My 2nd favorite order - type: item item: '1234' - type: item item: ABC - type: store storeId: 62********************2e - type: store storeId: 62********************2f responses: '200': description: '' content: application/json: examples: OK: summary: OK value: externalId: 62********************1o loyaltyProviderId: VjaGFuZ0B0cm9 deliveryAddresses: - street: Main Street subpremise: Unit 210 area: Irvine Business Complex city: Irvine postalCode: '92614' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 id: 62********************6a default: true - street: 5678 Ocean View Drive subpremise: Suite 12 area: Pacific Beach city: San Diego postalCode: '92109' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 id: 62********************6w default: false billingAddress: subpremise: null street: 9480 Talbert and Bushard Street area: Downtown Fountain Valley city: Fountain Valley postalCode: '92708' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 metadata: {} vehicles: - id: 62********************6z make: honda model: civic color: yellow default: true - id: 62********************6b make: toyota model: corolla color: blue default: false id: 62********************6m accountId: 62********************6e channel: 10000 created: YYYY-MM-DDTHH:mm:ss.SSSSSSZ updated: YYYY-MM-DDTHH:mm:ss.SSSSSSZ contact: email: email@email.com firstName: John lastName: Doe phone: '+14048888666' birthdate: '1970-01-01T00:00:00' fullName: John Doe favorites: - type: order orderId: 62********************3x label: My favorite order - type: order orderId: 62********************3y label: My 2nd favorite order - type: item item: '1234' - type: item item: ABC - type: store storeId: 62********************2e - type: store storeId: 62********************2f schema: type: object properties: id: type: string example: '{id}' accountId: type: string example: '{accountId}' channel: type: string example: '{channel}' created: type: string example: '{created}' updated: type: string example: '{updated}' contact: type: object properties: email: type: string example: '{crmEmail}' firstName: type: string example: '{crmFirstName}' lastName: type: string example: '{crmLastName}' fullName: type: string example: '{crmFullName}' description: This is set by CRM as concatenation of firstName and lastName phone: type: string example: '{crmPhone}' birthdate: type: string example: '{crmProfileBirthDate}' externalId: type: string example: '{externalId}' loyaltyProviderId: type: string example: '{loyaltyProviderId}' deliveryAddress: type: object properties: country: type: string example: '{countryCode}' stateOrProvince: type: string example: '{stateOrProvince}' city: type: string example: '{city}' streetName: type: string example: '{streetName}' postalCode: type: string example: '{postalCode}' houseNumber: type: string example: '{houseNumber}' default: type: boolean example: true id: type: string description: unique identifier of address in CRM example: 609a1b2c3d4e5f6a7b8c9d0e billingAddress: type: object properties: country: type: string example: '{countryCode}' stateOrProvince: type: string example: '{stateOrProvince}' city: type: string example: '{city}' street: type: string example: '{streetName}' postalCode: type: string example: '{postalCode}' houseNumber: type: string example: '{houseNumber}' subpremise: type: string example: string area: type: string example: string coordinates: type: array items: type: number example: 1.0 metadata: type: object properties: {} favorites: type: array items: type: object properties: type: type: string example: order orderIds: type: array items: type: string example: '{orderId}' vehicles: type: array items: properties: id: type: string example: 609a1b2c3d4e5f6a7b8c9d0e make: type: string example: string model: type: string example: string color: type: string example: string default: type: boolean example: true type: object tags: - Customers summary: Deliverect Update Customer Profile operationId: patch_crm_accountid_customers_crmprofileid x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/{accountId}/customers/{crmProfileId}/deliveryAddresses: patch: description: Update the addresses stored on a customer's profile parameters: - in: path name: crmProfileId schema: type: string required: true description: The crmProfileId value. example: 609a1b2c3d4e5f6a7b8c9d0e - in: path name: accountId schema: type: string required: true description: The accountId value. example: 5b71c6489f00290d4 requestBody: content: application/json: schema: type: array items: type: object properties: country: type: string example: BE stateOrProvince: type: string example: string street: type: string example: string postalCode: type: string example: string subpremise: type: string example: string area: type: string example: string coordinates: type: array items: type: number format: float example: 1.0 default: type: boolean example: true city: type: string example: string examples: Addresses Example: summary: Addresses Example value: - country: US stateOrProvince: NY city: Brooklyn street: 8719 Avenue D subPremise: '' area: '' postalCode: '11236' coordinates: - 40.6456946 - -73.9143276 default: true - street: 5678 Ocean View Drive subPremise: Apt 5B area: Pacific Beach city: San Diego stateOrProvince: CA postalCode: '92109' country: US coordinates: - 40.6456946 - -73.9143276 default: false responses: '200': description: '' content: application/json: examples: OK: summary: OK value: externalId: 62********************1o loyaltyProviderId: VjaGFuZ0B0cm9 deliveryAddresses: - street: 8719 Avenue D subpremise: Unit 210 area: '' city: Brooklyn postalCode: '11236' stateOrProvince: NY country: US coordinates: - 40.6456946 - -73.9143276 id: 62********************6y default: true - street: 5678 Ocean View Drive subpremise: Apt 5B area: Pacific Beach city: San Diego postalCode: '92109' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 id: 62********************8p default: false billingAddress: street: 9480 Talbert and Bushard Street subpremise: Suite 12 area: Downtown Fountain Valley city: Fountain Valley postalCode: '92708' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 metadata: {} vehicles: - id: 62********************8s make: honda model: civic color: yellow default: true - id: 62********************84 make: toyota model: corolla color: blue default: false id: 62********************6y accountId: 62********************5n channel: 10000 created: YYYY-MM-DDTHH:mm:ss.SSSSSSZ updated: YYYY-MM-DDTHH:mm:ss.SSSSSSZ contact: email: email@email.com firstName: John lastName: Doe phone: '+14048555666' birthdate: '1970-01-01T00:00:00Z' fullName: Eugene Chang favorites: - type: order orderId: 69d936f77da4b464d9e1b1ac label: My favorite order - type: order orderId: 62********************2h label: My 2nd favorite order - type: item item: '655298781' - type: item item: '654133498' - type: store storeId: 62********************8m - type: store storeId: 62********************5v tags: - Customers summary: Deliverect Update Customer Delivery Addresses operationId: patch_crm_accountid_customers_crmprofileid_deliveryaddresses x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/{accountId}/customers/{crmProfileId}/vehicles: patch: description: Update the addresses stored on a customer's profile parameters: - in: path name: crmProfileId schema: type: string required: true description: The crmProfileId value. example: 609a1b2c3d4e5f6a7b8c9d0e - in: path name: accountId schema: type: string required: true description: The accountId value. example: 5b71c6489f00290d4 requestBody: content: application/json: schema: type: array items: type: object properties: make: type: string example: string model: type: string example: string color: type: string example: string default: type: boolean example: true examples: Vehicle Example: summary: Vehicle Example value: - make: Volkswagen model: Beetle color: Yellow default: true - make: Audi model: TT color: Black default: false responses: '200': description: '' content: application/json: examples: OK: summary: OK value: externalId: f965248c-3a00 loyaltyProviderId: VjaG***0cm9 deliveryAddresses: - street: Main Street subpremise: Unit 210 area: Irvine Business Complex city: Irvine postalCode: '92614' stateOrProvince: CA country: US coordinates: - 33.674 - -117.838 id: 61********************b1 default: true - street: 5678 Ocean View Drive subpremise: Apt 5B area: Pacific Beach city: San Diego postalCode: '92109' stateOrProvince: CA country: US coordinates: - 32.8 - -117.25 id: 61********************b2 default: false billingAddress: street: 9480 Talbert and Bushard Street subpremise: Suite 12 area: Downtown Fountain Valley city: Fountain Valley postalCode: '92708' stateOrProvince: CA country: US coordinates: - 33.709 - -117.953 metadata: {} vehicles: - id: 62********************5m make: volkswagen model: beetle color: yellow default: true - id: 62********************6t make: audi model: tt color: black default: false id: 62********************7c accountId: 62********************3c channel: 10000 created: YYYY-MM-DDTHH:mm:ss.SSSSSSZ updated: YYYY-MM-DDTHH:mm:ss.SSSSSSZ contact: email: email@email.com firstName: John lastName: Doe phone: '+14048091678' birthdate: '1970-01-01T00:00:00Z' fullName: John Doe favorites: [] tags: - Customers summary: Deliverect Update Customer Vehicles operationId: patch_crm_accountid_customers_crmprofileid_vehicles x-microcks-operation: delay: 0 dispatcher: FALLBACK /crm/{accountId}/customers/{crmProfileId}/favorites: patch: description: Update a customer's favorites parameters: - in: path name: crmProfileId schema: type: string required: true description: The crmProfileId value. example: 609a1b2c3d4e5f6a7b8c9d0e - in: path name: accountId schema: type: string required: true description: The accountId value. example: 5b71c6489f00290d4 responses: '200': description: '' content: application/json: examples: OK: summary: OK value: externalId: 62********************1o loyaltyProviderId: VjaGFuZ0B0cm9 deliveryAddresses: - street: Main Street subpremise: Unit 210 area: Irvine Business Complex city: Irvine postalCode: '92614' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 id: 62********************6a default: true - street: 5678 Ocean View Drive subpremise: Suite 12 area: Pacific Beach city: San Diego postalCode: '92109' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 id: 62********************6w default: false billingAddress: subpremise: null street: 9480 Talbert and Bushard Street area: Downtown Fountain Valley city: Fountain Valley postalCode: '92708' stateOrProvince: CA country: US coordinates: - 40.6456946 - -73.9143276 metadata: {} vehicles: - id: 62********************6z make: honda model: civic color: yellow default: true - id: 62********************6b make: toyota model: corolla color: blue default: false id: 62********************6m accountId: 62********************6e channel: 19066 created: YYYY-MM-DDTHH:mm:ss.SSSSSSZ updated: YYYY-MM-DDTHH:mm:ss.SSSSSSZ contact: email: email@email.com firstName: John lastName: Doe phone: '+14048888666' birthdate: '1970-01-01T00:00:00' fullName: John Doe favorites: - type: order orderId: 62********************3x label: My favorite order - type: order orderId: 62********************3y label: My 2nd favorite order - type: item item: '1234' - type: item item: ABC - type: store storeId: 62********************2e - type: store storeId: 62********************2f schema: type: object properties: id: type: string example: '{id}' accountId: type: string example: '{accountId}' channel: type: string example: '{channel}' created: type: string example: '{created}' updated: type: string example: '{updated}' contact: type: object properties: email: type: string example: '{crmEmail}' firstName: type: string example: '{crmFirstName}' lastName: type: string example: '{crmLastName}' fullName: type: string example: '{crmFullName}' phone: type: string example: '{crmPhone}' birthdate: type: string example: '{crmProfileBirthDate}' externalId: type: string example: '{externalId}' loyaltyProviderId: type: string example: '{loyaltyProviderId}' deliveryAddress: type: object properties: country: type: string example: '{countryCode}' stateOrProvince: type: string example: '{stateOrProvince}' city: type: string example: '{city}' streetName: type: string example: '{streetName}' postalCode: type: string example: '{postalCode}' houseNumber: type: string example: '{houseNumber}' billingAddress: type: object properties: country: type: string example: '{countryCode}' stateOrProvince: type: string example: '{stateOrProvince}' city: type: string example: '{city}' streetName: type: string example: '{streetName}' postalCode: type: string example: '{postalCode}' houseNumber: type: string example: '{houseNumber}' metadata: type: object properties: vehicle: type: object properties: make: type: string example: '{vehicleMake}' model: type: string example: '{vehicleModel}' color: type: string example: '{vehicleColor}' favorites: type: array items: type: object properties: type: type: string example: order orderIds: type: array items: type: string example: '{orderId}' tags: - Customers summary: Deliverect Update Customer Favorites requestBody: content: application/json: schema: type: array items: type: object properties: type: type: string enum: - item - order - store example: item orderId/item/storeId: type: string example: 609a1b2c3d4e5f6a7b8c9d0e label: type: string example: string required: - orderId/item/storeId - type examples: Customer Example: summary: Customer Example value: - type: order orderId: 78********************45 label: My favorite order - type: item item: PLU-1 - type: order orderId: 88********************47 - type: store storeId: 65********************88 operationId: patch_crm_accountid_customers_crmprofileid_favorites x-microcks-operation: delay: 0 dispatcher: FALLBACK /loyalty/{channelLinkId}/customer: post: summary: Deliverect Create Loyalty Customer description: Deliverect Create Loyalty Customer operationId: loyalty_channel_create_loyalty_customer parameters: - name: channelLinkId in: path schema: type: string required: true description: The channelLinkId value. example: 5e8abc11dec0001a009b requestBody: content: application/json: schema: type: object properties: email: type: string description: email of the end customer example: customer@example.com phoneNumber: type: string description: phone number of the end customer in E164 format example: '+15555550123' firstName: type: string description: first name of the end customer example: Deliverect's Pizza Place lastName: type: string description: last name of the end customer example: Deliverect's Pizza Place dateOfBirth: type: string description: date of birth of the end customer in ISO format example: '2026-03-15T14:30:00Z' examples: loyalty_channel_create_loyalty_customerRequest: summary: Default loyalty_channel_create_loyalty_customer request x-microcks-default: true value: email: customer@example.com phoneNumber: '+15555550123' firstName: Deliverect's Pizza Place lastName: Deliverect's Pizza Place dateOfBirth: '2026-03-15T14:30:00Z' responses: '200': description: '200' content: application/json: examples: '- without tier': value: providerId: '68964' firstName: John lastName: Doe email: john.doe@email.com phoneNumber: '+32411222333' dateOfBirth: '1970-01-01T00:00:00.000000+00:00' lifetimePointsBalance: 0 tier: null with tier: value: providerId: '234567' firstName: John lastName: Doe email: john.doe@email.com phoneNumber: '+32411222333' dateOfBirth: '1970-01-01T00:00:00.000000+00:00' lifetimePointsBalance: 0 status: active tier: name: Bronze description: This is a bronze tier media: url: https://deliverect.com/image.png mediaType: image requirements: minLifetimePoints: 0 maxLifetimePoints: 1000 schema: oneOf: - title: '- without tier' type: object properties: firstName: type: string example: John lastName: type: string example: Doe email: type: string example: john.doe@email.com phoneNumber: type: string example: '+32411222333' dateOfBirth: type: string example: '1970-01-01T00:00:00.000000+00:00' lifetimePointsBalance: type: integer example: 0 default: 0 tier: {} providerId: type: string required: - providerId - title: with tier type: object properties: firstName: type: string example: John lastName: type: string example: Doe email: type: string example: john.doe@email.com phoneNumber: type: string example: '+32411222333' dateOfBirth: type: string example: '1970-01-01T00:00:00.000000+00:00' lifetimePointsBalance: type: integer example: 0 default: 0 tier: type: object properties: name: type: string example: Bronze description: type: string example: This is a bronze tier media: type: object properties: url: type: string example: https://deliverect.com/image.png mediaType: type: string example: image requirements: type: object properties: minLifetimePoints: type: integer example: 0 default: 0 maxLifetimePoints: type: integer example: 1000 default: 0 providerId: type: string required: - providerId '400': description: '400' content: application/json: examples: Result: value: "{\n \"error\": \"no active loyalty profile found\",\n \"http_code\": 400,\n \"description\": \"no active loyalty profile found\"\n}" schema: type: object properties: error: type: string example: no active loyalty profile found http_code: type: integer example: 400 default: 0 description: type: string example: no active loyalty profile found deprecated: false tags: - Customers x-microcks-operation: delay: 0 dispatcher: FALLBACK get: summary: Deliverect Get Loyalty Customer description: Deliverect Get Loyalty Customer operationId: loyalty_channel_get_customer parameters: - name: channelLinkId in: path schema: type: string required: true description: The channelLinkId value. example: 5e8abc11dec0001a009b - name: email in: query description: email of the end customer schema: type: string example: customer@example.com - name: phoneNumber in: query description: phone number of the end customer in E164 format schema: type: string example: '+15555550123' - in: query name: providerId schema: type: string description: The customer's unique identifier within the loyalty provider's system, QR codes can also be passed via this parameter where supported on the Loyalty platform example: 609a1b2c3d4e5f6a7b8c9d0e responses: '200': description: '200' content: application/json: examples: without tier: value: firstName: John lastName: Doe email: john.doe@email.com phoneNumber: '+32411222333' dateOfBirth: '1970-01-01T00:00:00.000000+00:00' lifetimePointsBalance: 0 status: activation_pending tier: null providerId: '376483' with tier: value: providerId: '83885' firstName: John lastName: Doe email: john.doe@email.com phoneNumber: '+32411222333' dateOfBirth: '1970-01-01T00:00:00.000000+00:00' lifetimePointsBalance: 0 status: active tier: name: Bronze description: This is a bronze tier media: url: https://deliverect.com/image.png mediaType: image requirements: minLifetimePoints: 0 maxLifetimePoints: 1000 schema: oneOf: - title: without tier type: object properties: firstName: type: string example: John lastName: type: string example: Doe email: type: string example: john.doe@email.com phoneNumber: type: string example: '+32411222333' dateOfBirth: type: string example: '1970-01-01T00:00:00.000000+00:00' lifetimePointsBalance: type: integer example: 0 default: 0 status: type: string example: activation_pending tier: {} providerId: type: string required: - providerId - title: with tier type: object properties: firstName: type: string example: John lastName: type: string example: Doe email: type: string example: john.doe@email.com phoneNumber: type: string example: '+32411222333' dateOfBirth: type: string example: '1970-01-01T00:00:00.000000+00:00' lifetimePointsBalance: type: integer example: 0 default: 0 status: type: string example: active tier: type: object properties: name: type: string example: Bronze description: type: string example: This is a bronze tier media: type: object properties: url: type: string example: https://deliverect.com/image.png mediaType: type: string example: image requirements: type: object properties: minLifetimePoints: type: integer example: 0 default: 0 maxLifetimePoints: type: integer example: 1000 default: 0 providerId: type: string required: - providerId '400': description: '400' content: application/json: examples: Result: value: "{\n \"error\": \"no active loyalty profile found\",\n \"http_code\": 400,\n \"description\": \"no active loyalty profile found\"\n}" schema: type: object properties: error: type: string example: no active loyalty profile found http_code: type: integer example: 400 default: 0 description: type: string example: no active loyalty profile found '404': description: '404' content: application/json: examples: Result: value: "{\n \"error\": \"loyalty customer not found\",\n \"http_code\": 404,\n \"description\": \"loyalty customer not found\"\n}" schema: type: object properties: error: type: string example: loyalty customer not found http_code: type: integer example: 404 default: 0 description: type: string example: loyalty customer not found deprecated: false tags: - Customers 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: {}