Ankorstore OrderPay API

ℹ️ This section describes the API endpoints for managing _OrderPay_ orders and customers. OrderPay allows brands to create and manage orders for their own customers, handle payments, and track order lifecycle — all through the Ankorstore platform. ## 💡 General Concepts - _OrderPay Order_ - An order created by a brand on behalf of one of its customers. Unlike _Internal Orders_ (placed by retailers on the Ankorstore marketplace), OrderPay orders are initiated by the brand itself. This enables brands to sell to customers outside the marketplace while still leveraging Ankorstore's payment processing, invoicing, and optionally, fulfillment services. - _OrderPay Customer_ - A customer entity managed by the brand. Each customer has billing and shipping addresses, contact details, and associated payment methods. Customers must be created before orders can be placed for them. - _Custom Items_ - Additional charges on an order beyond product line items, such as shipping fees, excise duties, or eco-taxes. ## 💡 Working with Customers Before creating an order, you need to register the customer. Use the customer endpoints to create and manage your customer base. ### Creating a Customer A customer requires at minimum: store name, email, first/last name, phone number, and both billing and shipping addresses. ```json5 // POST /api/v1/order-pay/order-pay-customer { "data": { "type": "order-pay-customer", "attributes": { "storeName": "La Boutique Verte", "email": "contact@laboutiqueverte.fr", "firstName": "Marie", "lastName": "Dupont", "company": { "phoneNumber": "+33612345678", "vatNumber": "FR12345678901", "vatExemption": false }, "billingAddress": { "street": "12 Rue de la Paix", "postalCode": "75002", "city": "Paris", "countryCode": "FR" }, "shippingAddress": { "street": "12 Rue de la Paix", "postalCode": "75002", "city": "Paris", "countryCode": "FR" } } } } ``` ### Listing and Filtering Customers You can retrieve your customers with optional filters: ``` [GET] /api/v1/order-pay/order-pay-customer?filter[storeName]=boutique&sort=storeName ``` The response uses page-based pagination with `page[number]` and `page[size]` parameters. ### Including Payment Methods When retrieving a single customer, pass `?include=paymentMethods` to see the customer's stored payment methods. ## 💡 Working with Orders ### Order Lifecycle An OrderPay order goes through the following statuses: stateDiagram-v2 [*] --> created created --> brand_confirmed : Brand confirms created --> cancelled : Brand cancels brand_confirmed --> payment_confirmed : Payment processed brand_confirmed --> cancelled : Brand cancels payment_confirmed --> waiting_shipping waiting_shipping --> shipped shipped --> received received --> invoiced invoiced --> brand_paid brand_paid --> [*] cancelled --> [*] | Status | Description | | --- | --- | | `created` | Order has been created but not yet confirmed by the brand | | `brand_confirmed` | Brand has confirmed the order, payment will be processed | | `payment_confirmed` | Payment has been successfully processed | | `waiting_shipping` | Order is awaiting shipment | | `shipped` | Order has been shipped | | `received` | Customer has received the order | | `invoiced` | Invoice has been generated | | `brand_paid` | Brand has been paid for the order | | `cancelled` | Order has been cancelled | ### Creating an Order To create an order you need the customer UUID and at least one product line item. Each item requires a `productVariantUuid`, a `quantity` (in packs), and pricing in the brand's currency. > ⚠️ The `quantity` field represents the number of **packs**, not individual units. For example, if a product variant is > sold in packs of 6, a quantity of 2 means 12 individual units. ```json5 // POST /api/v1/order-pay/order-pay-orders { "data": { "type": "order-pay-orders", "attributes": { "customerUuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "customReference": "SHOP-12345", // Your reference, shown on customer invoice "items": [ { "productVariantUuid": "d290f1ee-6c54-4b01-90e6-d701748f0851", "quantity": 2, "amounts": { "brandUnitPrice": 1500, // 15.00 EUR in cents "discountRate": 10 // 10% discount } } ], "customItems": [ { "type": "shippingFees", "amount": 800 // 8.00 EUR in cents, excl. VAT } ], "shippingMethod": "custom" // "custom" or "fulfillment" } } } ``` ### Shipping Methods | Method | Description | | --- | --- | | `custom` | You ship the order using your own carrier | | `fulfillment` | The order is fulfilled via AnkorLogistics Fulfillment Centre | When using `fulfillment`, you can optionally provide delivery instructions: - `deliverySchedule` - Customer opening times with day-of-week and time slots - `packingInstruction` - Services like `PALLETISE`, `CUSTOM_BUILD`, or `DOCS` - `deliveryAppointment` - Whether an appointment is required for delivery ### Custom Items Use `customItems` to add charges beyond product line items: | Type | Description | | --- | --- | | `shippingFees` | Shipping charges | | `exciseDuties` | Excise duties (e.g., on alcohol) | | `ecoTax` | Environmental taxes | > ⚠️ The `amounts.shippingFeesAmount` field is **deprecated**. Use `customItems` with type `shippingFees` instead. ### Custom Reference Use the `customReference` field to link orders back to your own system (e.g., a Shopify order ID). This reference appears on the customer's invoice and can be up to 64 characters. ### Confirming and Cancelling Orders After creating an order, you can: - **Confirm** it via `POST /api/v1/order-pay/order-pay-orders/{id}/-actions/confirm` — this triggers payment processing - **Cancel** it via `POST /api/v1/order-pay/order-pay-orders/{id}/-actions/cancel` — with an optional reason ### Including Payment Details When retrieving an order, pass `?include=payment` or `?include=payment.transactions` to see payment status and transaction details. ## 💡 Amounts and Currencies All monetary amounts are represented as **integers in the lowest denomination** of the currency (e.g., cents for EUR). Every order response includes both brand-currency and customer-currency amounts, with formatted string equivalents for display purposes. For example, a line item response includes fields like: - `brandUnitPrice`: `1500` (integer, cents) - `brandUnitPriceFormatted`: `"15.00 EUR"` (string, for display) - `customerUnitPrice`: `1320` (integer, cents in customer currency) - `customerUnitPriceFormatted`: `"13.20 GBP"` (string, for display) VAT is calculated automatically based on the customer's address and product configuration.

Operations 9

GET /api/v1/order-pay/order-pay-customer List customers #
POST /api/v1/order-pay/order-pay-customer Create a customer #
GET /api/v1/order-pay/order-pay-customer/{order_pay_customer} Retrieve a single customer #
PATCH /api/v1/order-pay/order-pay-customer/{order_pay_customer} Update a customer profile #
POST /api/v1/order-pay/order-pay-orders Create a new order #
GET /api/v1/order-pay/order-pay-orders/{id} Retrieve an order #
PATCH /api/v1/order-pay/order-pay-orders/{id} Update an order #
POST /api/v1/order-pay/order-pay-orders/{id}/-actions/cancel Cancel an order #
POST /api/v1/order-pay/order-pay-orders/{id}/-actions/confirm Confirm an order #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ankorstore-orderpay-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ankorstore-orderpay-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Ankorstore Public Order Pay API
  description: 'The Ankorstore API enables brands and their partners to programmatically manage their presence on the

    Ankorstore wholesale marketplace.'
  contact:
    name: Ankorstore Support
    email: api@ankorstore.com
    url: https://www.ankorstore.com
  license:
    name: CC0 1.0 Universal
    url: https://creativecommons.org/publicdomain/zero/1.0/
  x-prefix: Ankorstore
  x-logo:
    url: https://cdn.ankorstore.com/images/logo/logo-black.svg
    altText: Ankorstore
    href: /
servers:
- url: https://www.public.ankorstore-sandbox.com
  description: Staging Environment
- url: https://www.ankorstore.com
  description: Production Environment
security:
- ProductionOAuth2ClientCredentials: []
tags:
- name: OrderPay
  description: ℹ️ This section describes the API endpoints for managing _OrderPay_ orders and customers.
paths:
  /api/v1/order-pay/order-pay-customer:
    get:
      operationId: list-order-pay-customer
      summary: List customers
      description: Retrieves a list of customers associated with an OrderPay account. The result is paginated. Furthermore a filter can be applied on the result.
      tags:
      - OrderPay
      parameters:
      - name: Accept
        in: header
        description: application/vnd.api+json
        schema:
          type: string
          default: application/vnd.api+json
      - name: filter[storeName]
        in: query
        required: false
        schema:
          type: string
      - name: filter[email]
        in: query
        required: false
        schema:
          type: string
      - name: page[number]
        in: query
        schema:
          type: integer
          default: 1
        description: Page number, starting at 1
      - name: page[size]
        in: query
        schema:
          type: integer
          default: 20
        description: Maximum number of elements per page
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - id
          - storeName
        description: Comma-separated list of attributes to sort by (storeName by default)
        allowEmptyValue: false
      - schema:
          type: string
          enum:
          - paymentMethods
        name: include
        in: query
        description: 'A comma-separated list of resources to include (e.g: paymentMethods)'
      responses:
        '200':
          description: Collection of Customer resources
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  jsonapi:
                    description: An object describing the server's implementation
                    type: object
                    properties:
                      version:
                        type: string
                      meta:
                        description: Non-standard meta-information that can not be represented as an attribute or relationship.
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                  data:
                    type: array
                    items:
                      title: CustomerResource
                      type: object
                      required:
                      - type
                      - id
                      - attributes
                      properties:
                        type:
                          type: string
                          const: order-pay-customer
                        id:
                          type: string
                          description: '[resource object identifier (uuid)](https://jsonapi.org/format/#document-resource-object-identification)'
                          format: uuid
                        attributes:
                          type: object
                          properties:
                            storeName:
                              type: string
                            email:
                              type: string
                            firstName:
                              type:
                              - string
                              - 'null'
                            lastName:
                              type:
                              - string
                              - 'null'
                            paymentMethods:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                  email:
                                    type:
                                    - string
                                    - 'null'
                                  name:
                                    type:
                                    - string
                                    - 'null'
                                  last4:
                                    type:
                                    - string
                                    - 'null'
                                    example: '1234'
                                required:
                                - type
                            company:
                              type: object
                              properties:
                                phoneNumber:
                                  type: string
                                phoneCountry:
                                  type: object
                                  properties:
                                    isoCode:
                                      type: string
                                    name:
                                      type: string
                                    callingCode:
                                      type: integer
                                  required:
                                  - isoCode
                                  - name
                                  - callingCode
                                taxNumber:
                                  type:
                                  - string
                                  - 'null'
                                vatNumber:
                                  type:
                                  - string
                                  - 'null'
                                vatExemption:
                                  type: boolean
                              required:
                              - phoneNumber
                              - phoneCountry
                              - taxNumber
                              - vatNumber
                              - vatExemption
                            billingAddress:
                              type: object
                              properties:
                                name:
                                  type: string
                                street:
                                  type: string
                                postalCode:
                                  type: string
                                city:
                                  type: string
                                country:
                                  type: object
                                  properties:
                                    isoCode:
                                      type: string
                                    name:
                                      type: string
                                    callingCode:
                                      type: integer
                                  required:
                                  - isoCode
                                  - name
                                  - callingCode
                              required:
                              - name
                              - street
                              - postalCode
                              - city
                              - country
                            shippingAddress:
                              type: object
                              properties:
                                name:
                                  type: string
                                street:
                                  type: string
                                postalCode:
                                  type: string
                                city:
                                  type: string
                                country:
                                  type: object
                                  properties:
                                    isoCode:
                                      type: string
                                    name:
                                      type: string
                                    callingCode:
                                      type: integer
                                  required:
                                  - isoCode
                                  - name
                                  - callingCode
                              required:
                              - name
                              - street
                              - postalCode
                              - city
                              - country
                          required:
                          - storeName
                          - email
                          - firstName
                          - lastName
                          - company
                        relationships:
                          type: object
                          properties:
                            paymentMethods:
                              type: object
                              required:
                              - data
                              properties:
                                data:
                                  description: An array of objects each containing `type` and `id` members for to-many relationships.
                                  type: array
                                  items:
                                    description: Resource identification present in Resource Objects and Resource Identifier Objects.
                                    type: object
                                    required:
                                    - id
                                    - type
                                    properties:
                                      id:
                                        type: string
                                      type:
                                        type: string
                                        default: order-pay-customer-payment-methods
                                      meta:
                                        description: Non-standard meta-information that can not be represented as an attribute or relationship.
                                        type: object
                                        additionalProperties: true
                                  uniqueItems: true
                  meta:
                    type: object
                    additionalProperties: true
                    properties:
                      page:
                        type: object
                        properties:
                          currentPage:
                            type: integer
                          from:
                            type: integer
                          lastPage:
                            type: integer
                          perPage:
                            type: integer
                          to:
                            type: integer
                          total:
                            type: integer
                    required:
                    - page
                required:
                - jsonapi
                - data
                - meta
        '400':
          description: Bad request
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  errors:
                    type: array
                    uniqueItems: true
                    items:
                      type: object
                      properties:
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the problem.
                          type: string
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a string value.
                          type: string
                        title:
                          description: The HTTP status code description applicable to this problem
                          type: string
                        source:
                          type: object
                          description: Optional object pointing towards the problematic field
                          properties:
                            pointer:
                              type: string
                              description: The field key
                        meta:
                          description: Non-standard meta-information that can not be represented as an attribute or relationship.
                          type: object
                          additionalProperties: true
                      additionalProperties: false
                  jsonapi:
                    description: An object describing the server's implementation
                    type: object
                    properties:
                      version:
                        type: string
                      meta:
                        description: Non-standard meta-information that can not be represented as an attribute or relationship.
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                required:
                - errors
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Bad request
                  status: '400'
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  errors:
                    type: array
                    uniqueItems: true
                    items:
                      type: object
                      properties:
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the problem.
                          type: string
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a string value.
                          type: string
                        title:
                          description: The HTTP status code description applicable to this problem
                          type: string
                        source:
                          type: object
                          description: Optional object pointing towards the problematic field
                          properties:
                            pointer:
                              type: string
                              description: The field key
                        meta:
                          description: Non-standard meta-information that can not be represented as an attribute or relationship.
                          type: object
                          additionalProperties: true
                      additionalProperties: false
                  jsonapi:
                    description: An object describing the server's implementation
                    type: object
                    properties:
                      version:
                        type: string
                      meta:
                        description: Non-standard meta-information that can not be represented as an attribute or relationship.
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                required:
                - errors
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Unauthorized
                  status: '401'
        '403':
          description: '[Forbidden](https://jsonapi.org/format/#crud-creating-responses-403)'
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  errors:
                    type: array
                    uniqueItems: true
                    items:
                      type: object
                      properties:
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the problem.
                          type: string
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a string value.
                          type: string
                        title:
                          description: The HTTP status code description applicable to this problem
                          type: string
                        source:
                          type: object
                          description: Optional object pointing towards the problematic field
                          properties:
                            pointer:
                              type: string
                              description: The field key
                        meta:
                          description: Non-standard meta-information that can not be represented as an attribute or relationship.
                          type: object
                          additionalProperties: true
                      additionalProperties: false
                  jsonapi:
                    description: An object describing the server's implementation
                    type: object
                    properties:
                      version:
                        type: string
                      meta:
                        description: Non-standard meta-information that can not be represented as an attribute or relationship.
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                required:
                - errors
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Forbidden
                  status: '403'
        '406':
          description: Not Acceptable
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  errors:
                    type: array
                    uniqueItems: true
                    items:
                      type: object
                      properties:
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the problem.
                          type: string
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a string value.
                          type: string
                        title:
                          description: The HTTP status code description applicable to this problem
                          type: string
                        source:
                          type: object
                          description: Optional object pointing towards the problematic field
                          properties:
                            pointer:
                              type: string
                              description: The field key
                        meta:
                          description: Non-standard meta-information that can not be represented as an attribute or relationship.
                          type: object
                          additionalProperties: true
                      additionalProperties: false
                  jsonapi:
                    description: An object describing the server's implementation
                    type: object
                    properties:
                      version:
                        type: string
                      meta:
                        description: Non-standard meta-information that can not be represented as an attribute or relationship.
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                required:
                - errors
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Not Acceptable
                  status: '406'
        '415':
          description: Unsupported Media Type
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  errors:
                    type: array
                    uniqueItems: true
                    items:
                      type: object
                      properties:
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the problem.
                          type: string
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a string value.
                          type: string
                        title:
                          description: The HTTP status code description applicable to this problem
                          type: string
                        source:
                          type: object
                          description: Optional object pointing towards the problematic field
                          properties:
                            pointer:
                              type: string
                              description: The field key
                        meta:
                          description: Non-standard meta-information that can not be represented as an attribute or relationship.
                          type: object
                          additionalProperties: true
                      additionalProperties: false
                  jsonapi:
                    description: An object describing the server's implementation
                    type: object
                    properties:
                      version:
                        type: string
                      meta:
                        description: Non-standard meta-information that can not be represented as an attribute or relationship.
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                required:
                - errors
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Unsupported Media Type
                  status: '415'
        '500':
          description: '[Server Error](https://jsonapi.org/format/#errors)'
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  errors:
                    type: array
                    uniqueItems: true
                    items:
                      type: object
                      properties:
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the problem.
                          type: string
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a string value.
                          type: string
                        title:
                          description: The HTTP status code description applicable to this problem
                          type: string
                        source:
                          type: object
                          description: Optional object pointing towards the problematic field
                          properties:
                            pointer:
                              type: string
                              description: The field key
                        meta:
                          description: Non-standard meta-information that can not be represented as an attribute or relationship.
                          type: object
                          additionalProperties: true
                      additionalProperties: false
                  jsonapi:
                    description: An object describing the server's implementation
                    type: object
                    properties:
                      version:
                        type: string
                      meta:
                        description: Non-standard meta-information that can not be represented as an attribute or relationship.
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                required:
                - errors
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Server Error
                  status: '500'
    post:
      operationId: create-order-pay-customer
      summary: Create a customer
      description: Creates a new OrderPay customer.
      tags:
      - OrderPay
      parameters:
      - name: Accept
        in: header
        description: application/vnd.api+json
        schema:
          type: string
          default: application/vnd.api+json
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      const: order-pay-customer
                    attributes:
                      type: object
                      properties:
                        storeName:
                          type: string
                        email:
                          type: string
                        firstName:
                          type: string
                        lastName:
                          type: string
                        company:
                          type: object
                          properties:
                            phoneNumber:
                              type: string
                            taxNumber:
                              type: string
                            vatNumber:
                              type: string
                            vatExemption:
                              type: boolean
                          required:
                          - phoneNumber
                          - vatExemption
                        billingAddress:
                          type: object
                          properties:
                            street:
                              type: string
                            postalCode:
                              type: string
                            city:
                              type: string
                            countryCode:
                              type: string
                              default: FR
                          required:
                          - street
                          - postalCode
                          - city
                        shippingAddress:
                          type: object
                          properties:
                            street:
                              type: string
                            postalCode:
                              type: string
                            city:
                              type: string
                            countryCode:
                              type: string
                              default: FR
                          required:
                          - street
                          - postalCode
                          - city
                      required:
                      - storeName
                      - email
                      - firstName
                      - lastName
                      - company
                      - billingAddress
                      - shippingAddress
                  required:
                  - type
                  - attributes
              required:
              - data
      responses:
        '201':
          description: Single Customer resource
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  jsonapi:
                    description: An object describing the server's implementation
                    type: object
                    properties:
                      version:
                        type: string
                      meta:
                        description: Non-standard meta-information that can not be represented as an attribute or relationship.
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                  data:
                    title: CustomerResource
                    type: object
                    required:
                    - type
                    - id
                    - attributes
                    properties:
                      type:
                        type: string
                        const: order-pay-customer
                      id:
                        type: string
                        description: '[resource object identifier (uuid)](https://jsonapi.org/format/#document-resource-object-identification)'
                        format: uuid
                      attributes:
                        type: object
                        properties:
                          storeName:
                            type: string
                          email:
                            type: string
                          firstName:
                            type:
                            - string
                            - 'null'
                          lastName:
                            type:
                            - string
                            -

# --- truncated at 32 KB (405 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ankorstore/refs/heads/main/openapi/ankorstore-orderpay-api-openapi.yml