Ankorstore Brands API

The Brands API from Ankorstore — 8 operation(s) for brands.

OpenAPI Specification

ankorstore-brands-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 1.2.2-oas3.1
  title: Ankorstore Stock Tracking and Logistics Applications Brands API
  summary: API specification for the Ankorstore Stock Tracking and Logistics system
  description: Ankorstore Stock Tracking and Logistics (ASTRAL) API specification
  contact:
    name: Ankorstore
    url: https://www.ankorstore.com
    email: api@ankorstore.com
  license:
    url: https://creativecommons.org/publicdomain/zero/1.0/
    name: CC0 1.0 Universal
servers:
- url: http://www.ankorlocal.com:8000
  description: Local Development Server
- url: https://www.preprod.ankorstore.com
  description: Staging Environment
- url: https://www.ankorstore.com
  description: Prod Environment
tags:
- name: Brands
paths:
  /api/v1/brands:
    get:
      summary: List brands
      operationId: get-brands
      description: 'Returns a filtered list of brands. Used both publicly (e.g. resolving brand display data

        for a known set of brand UUIDs via `filter[id]`) and internally (full directory listing

        with name / hasOrderFrom / hasIdentifier filters and cursor pagination).


        Authenticated brand consumers are auto-scoped to their own brand — filter[id] is ignored

        in their case. Other authenticated consumers (retailers, admins, machine clients) see the

        full filtered result.

        '
      tags:
      - Brands
      parameters:
      - name: filter[id][]
        in: query
        description: Limit the result set to brands matching one of the supplied UUIDs. Unknown or hidden ids are silently omitted. Capped at 50 ids per request — chunk client-side beyond that.
        schema:
          type: array
          maxItems: 50
          items:
            type: string
            format: uuid
      - name: page[from]
        in: query
        description: Cursor (brand UUID, exclusive) to start the page from when iterating forward.
        schema:
          type: string
          format: uuid
      - name: page[to]
        in: query
        description: Cursor (brand UUID, exclusive) to end the page at when iterating backward.
        schema:
          type: string
          format: uuid
      - name: page[limit]
        in: query
        description: Maximum number of brands returned per page.
        schema:
          type: integer
          minimum: 1
      responses:
        '200':
          description: Brand collection response
          content:
            application/vnd.api+json:
              schema:
                type: object
                required:
                - jsonapi
                - data
                properties:
                  jsonapi:
                    description: An object describing the server's implementation
                    type: object
                    properties: &id001
                      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:
                      type: object
                      required:
                      - type
                      - id
                      - attributes
                      properties:
                        id:
                          type: string
                          format: uuid
                        type:
                          type: string
                          default: brands
                        attributes:
                          type: object
                          required:
                          - name
                          - automationMode
                          - marketplaceStockLocation
                          - images
                          - link
                          properties:
                            name:
                              description: Brand name
                              type: string
                            automationMode:
                              type: string
                              enum:
                              - automatic-brand_control
                              - automatic-confirm-and-request-fulfillment
                            marketplaceStockLocation:
                              type: string
                              description: Location that is used as authoritative for marketplace stock
                              enum:
                              - brand
                              - warehouse
                            images:
                              description: Set of brand image links, in different formats.
                              type: object
                              properties:
                                squared:
                                  type:
                                  - string
                                  - 'null'
                                rounded:
                                  type:
                                  - string
                                  - 'null'
                                large:
                                  type:
                                  - string
                                  - 'null'
                            link:
                              description: Relative path to the brand storefront page (slug-based). Null when the runtime route is not registered.
                              type:
                              - string
                              - 'null'
        '400':
          description: Bad request
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties: &id002
                  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: *id001
                    additionalProperties: false
                required: &id003
                - 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: *id002
                required: *id003
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Unauthorized
                  status: '401'
        '406':
          description: Not Acceptable
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties: *id002
                required: *id003
              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: *id002
                required: *id003
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Unsupported Media Type
                  status: '415'
        '422':
          description: 'Unprocessable Entity : Data provided are invalid'
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties: *id002
                required: *id003
              example:
                jsonapi:
                  version: string
                errors:
                - detail: The field is required.
                  source:
                    pointer: data.attributes.field
                  status: '422'
                  title: Unprocessable Content
        '500':
          description: '[Server Error](https://jsonapi.org/format/#errors)'
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties: *id002
                required: *id003
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Server Error
                  status: '500'
  /api/v1/brands/me:
    get:
      summary: Get own brand details
      operationId: get-api-v1-own-brands
      description: Get own brand details
      parameters:
      - name: Accept
        in: header
        description: application/vnd.api+json
        schema:
          type: string
          default: application/vnd.api+json
      - schema:
          type: string
          pattern: ^brand-contacts$
        name: include
        in: query
        description: 'A comma-separated list of resources to include (e.g: brand-contacts)'
      tags:
      - Brands
      responses:
        '200':
          description: Single Brand resource response
          content:
            application/vnd.api+json:
              schema:
                type: object
                required:
                - jsonapi
                - data
                properties:
                  jsonapi:
                    description: An object describing the server's implementation
                    type: object
                    properties: &id004
                      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:
                      type: object
                      required:
                      - type
                      - id
                      - attributes
                      properties:
                        id:
                          type: string
                          format: uuid
                        type:
                          type: string
                          default: brands
                        attributes:
                          type: object
                          required:
                          - name
                          - automationMode
                          - marketplaceStockLocation
                          - images
                          - link
                          properties:
                            name:
                              description: Brand name
                              type: string
                            automationMode:
                              type: string
                              enum:
                              - automatic-brand_control
                              - automatic-confirm-and-request-fulfillment
                            marketplaceStockLocation:
                              type: string
                              description: Location that is used as authoritative for marketplace stock
                              enum:
                              - brand
                              - warehouse
                            images:
                              description: Set of brand image links, in different formats.
                              type: object
                              properties:
                                squared:
                                  type:
                                  - string
                                  - 'null'
                                rounded:
                                  type:
                                  - string
                                  - 'null'
                                large:
                                  type:
                                  - string
                                  - 'null'
                            link:
                              description: Relative path to the brand storefront page (slug-based). Null when the runtime route is not registered.
                              type:
                              - string
                              - 'null'
                  included:
                    type: array
                    items:
                      anyOf:
                      - title: BrandContactResource
                        type: object
                        properties:
                          type:
                            type: string
                            const: brand-contacts
                          id:
                            type: string
                            description: '[resource object identifier (uuid)](https://jsonapi.org/format/#document-resource-object-identification)'
                            format: uuid
                          attributes:
                            type: object
                            properties:
                              email:
                                type: string
                                format: email
                              purposes:
                                type: array
                                items:
                                  type: string
                                  enum:
                                  - finance
                                minItems: 1
                            required:
                            - email
                            - purposes
                        required:
                        - type
                        - id
                        - attributes
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties: &id005
                  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: *id004
                    additionalProperties: false
                required: &id006
                - 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: *id005
                required: *id006
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Forbidden
                  status: '403'
        '404':
          description: '[Not found](https://jsonapi.org/format/#fetching-resources-responses-404)'
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties: *id005
                required: *id006
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Not found
                  status: '404'
        '406':
          description: Not Acceptable
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties: *id005
                required: *id006
              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: *id005
                required: *id006
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Unsupported Media Type
                  status: '415'
  /api/v1/brands/payouts:
    get:
      summary: List brand payouts
      operationId: get-api-v1-brands-payouts
      description: List payouts for the authenticated brand. Returns paginated payout records including transfer details.
      parameters:
      - name: Accept
        in: header
        description: application/vnd.api+json
        schema:
          type: string
          default: application/vnd.api+json
      - name: page[offset]
        in: query
        description: Number of items to skip
        required: false
        schema:
          type: integer
          default: 0
      - name: page[limit]
        in: query
        description: Maximum number of items to return
        required: false
        schema:
          type: integer
          default: 20
      tags:
      - Brands
      responses:
        '200':
          description: Paginated list of payouts
          content:
            application/vnd.api+json:
              schema:
                type: object
                required:
                - jsonapi
                - data
                - meta
                properties:
                  jsonapi:
                    description: An object describing the server's implementation
                    type: object
                    properties: &id009
                      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:
                      type: object
                      required:
                      - id
                      - type
                      - attributes
                      properties:
                        id:
                          type: string
                          format: uuid
                        type:
                          type: string
                          enum:
                          - payouts
                        attributes:
                          type: object
                          properties:
                            amount:
                              type: object
                              required: &id007
                              - amount
                              - currency
                              properties: &id008
                                amount:
                                  type: integer
                                  description: Amount in the lowest denomination of the currency
                                currency:
                                  type: string
                                  description: ISO 3-letter currency code
                                  example: EUR
                            status:
                              type: string
                              enum:
                              - pending
                              - paid
                              - failed
                              - canceled
                              - in_transit
                              - transfer_to_come
                            pspId:
                              type:
                              - string
                              - 'null'
                              description: Payment service provider payout identifier (e.g. Stripe payout ID)
                            createdAt:
                              type:
                              - string
                              - 'null'
                              format: date-time
                            arrivedAt:
                              type:
                              - string
                              - 'null'
                              format: date-time
                            transfers:
                              type: array
                              items:
                                type: object
                                properties:
                                  uuid:
                                    type: string
                                    format: uuid
                                  amount:
                                    type: object
                                    required: *id007
                                    properties: *id008
                                  pspId:
                                    type:
                                    - string
                                    - 'null'
                                    description: Payment service provider transfer identifier
                                  type:
                                    type: string
                                    enum:
                                    - order_payment
                                    - refund
                                  source:
                                    type: object
                                    required:
                                    - uuid
                                    properties:
                                      uuid:
                                        type: string
                                        format: uuid
                                      reference:
                                        type: string
                                        description: Order reference (only present for order_payment transfers)
                                      masterOrderUuid:
                                        type: string
                                        format: uuid
                                        description: Master order UUID (only present for order_payment transfers)
                                      customerStoreName:
                                        type: string
                                        description: Retailer store name (only present for order_payment transfers)
                                      type:
                                        type: string
                                        enum:
                                        - internal
                                        - external
                                        description: Order type (only present for order_payment transfers)
                                      invoices:
                                        type: array
                                        description: Related invoices (only present for order_payment transfers)
                                        items:
                                          type: object
                                          properties:
                                            title:
                                              type: string
                                            number:
                                              type:
                                              - string
                                              - 'null'
                                            path:
                                              type:
                                              - string
                                              - 'null'
                                            isGenerated:
                                              type: boolean
                  meta:
                    type: object
                    additionalProperties: true
                    required:
                    - page
                    properties:
                      page:
                        type: object
                        additionalProperties: true
                        properties:
                          currentPage:
                            type: integer
                          from:
                            type: integer
                          lastPage:
                            type: integer
                          perPage:
                            type: integer
                          to:
                            type: integer
                          total:
                            type: integer
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties: &id010
                  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: *id009
                    additionalProperties: false
                required: &id011
                - 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: *id010
                required: *id011
              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: *id010
                required: *id011
              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: *id010
                required: *id011
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Unsupported Media Type
                  status: '415'
        '429':
          description: '[Too Many Requests](https://jsonapi.org/format/#errors)'
          content:
            application/vnd.api+json:
              schema:
                type: object
                additionalProperties: false
                properties: *id010
                required: *id011
              example:
                jsonapi:
                  version: '1.0'
                errors:
                - detail: Too Many Requests
                  status: '429'
  /api/v1/brands/franco:
    get:
      operationId: list-brands-franco
      summary: Returns Franco and fee for a given list of brands.
      description: 'Returns Franco (free shipping threshold) and fee for a given list of brands.

        '
      tags:
      - Brands
      parameters:
      - name: Accept
        in: header
        descrip

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