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 email required.

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. Through the API you can manage your product catalog and stock, process

    orders, handle shipping and fulfillment, and receive real-time event notifications via webhooks.


    ### Quick Links


    - **[Getting Started](#section/Getting-Started)** — Register an application, authenticate, and make your first API call

    - **[Available APIs](#section/Available-APIs)** — Overview of all API capabilities

    - **[Authentication](#section/Authentication)** — OAuth2 setup and rate limits

    - **[How to work with API](#section/How-to-work-with-API)** — JSON:API conventions, pagination, filters, and includes

    - **[Testing API](#section/Testing-API)** — Sandbox environment and test data

    - **[Webhook Subscription](#section/Webhook-Subscription)** — Real-time event notifications


    ### Support


    For API support, contact us at [api@ankorstore.com](mailto:api@ankorstore.com).

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

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