Ankorstore Catalog Exchange API
The Catalog Exchange API from Ankorstore — 3 operation(s) for catalog exchange.
The Catalog Exchange API from Ankorstore — 3 operation(s) for catalog exchange.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/ankorstore-catalog-exchange-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
version: 1.0.0
title: Ankorstore Public Catalog Exchange 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: Catalog Exchange
paths:
/api/v1/catalog/exchange/error-reports:
post:
summary: Request an error report for a PIM import job
operationId: catalog-exchange-error-reports-create
description: 'Triggers the asynchronous generation of an XLSX error report listing the failed items of a given PIM
import job. Failed cells are highlighted and carry the validation message as a cell comment. Items whose
failure is technical (PIM-side operational error) are included in the file but not highlighted, so the
brand can simply re-upload them.
The operation is idempotent per PIM import job: a second call for the same `pim_import_job_id` returns
the existing report instead of creating a new one.
'
tags:
- Catalog Exchange
requestBody:
required: true
description: Request body to create an error report for a given PIM import job.
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
type: object
required:
- type
- attributes
properties:
type:
type: string
enum:
- catalog-exchange-error-report
attributes:
type: object
required:
- pim_import_job_id
properties:
pim_import_job_id:
type: string
format: uuid
description: Identifier of the PIM import job to build the error report from.
responses:
'200':
description: Single error report
content:
application/vnd.api+json:
schema:
type: object
required:
- data
- jsonapi
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: object
properties:
type:
type: string
description: '[resource object type](https://jsonapi.org/format/#document-resource-object-identification)'
id:
type: string
description: '[resource object identifier (uuid)](https://jsonapi.org/format/#document-resource-object-identification)'
format: uuid
attributes:
type: object
properties:
pimImportJobId:
type: string
format: uuid
description: Identifier of the PIM import job whose failed items are reported.
brandUuid:
type: string
format: uuid
description: Owning brand UUID.
status:
type: string
description: Lifecycle status of the error report.
enum:
- created
- started
- completed
- failed
filename:
type: string
description: Name the file will be served as.
failureReason:
type:
- 'null'
- string
description: Reason of failure, set only when the status is `failed`.
createdAt:
type: string
format: date-time
startedAt:
type:
- 'null'
- string
format: date-time
completedAt:
type:
- 'null'
- string
format: date-time
expiresAt:
type:
- 'null'
- string
format: date-time
description: Moment after which the file is no longer downloadable. Reports are retained for 30 days after completion.
downloadUrl:
type:
- 'null'
- string
format: uri
description: Present when the report is completed and not expired.
required:
- pimImportJobId
- brandUuid
- status
- filename
- createdAt
required:
- type
- id
- attributes
'201':
description: Single error report
content:
application/vnd.api+json:
schema:
type: object
required:
- data
- jsonapi
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: object
properties:
type:
type: string
description: '[resource object type](https://jsonapi.org/format/#document-resource-object-identification)'
id:
type: string
description: '[resource object identifier (uuid)](https://jsonapi.org/format/#document-resource-object-identification)'
format: uuid
attributes:
type: object
properties:
pimImportJobId:
type: string
format: uuid
description: Identifier of the PIM import job whose failed items are reported.
brandUuid:
type: string
format: uuid
description: Owning brand UUID.
status:
type: string
description: Lifecycle status of the error report.
enum:
- created
- started
- completed
- failed
filename:
type: string
description: Name the file will be served as.
failureReason:
type:
- 'null'
- string
description: Reason of failure, set only when the status is `failed`.
createdAt:
type: string
format: date-time
startedAt:
type:
- 'null'
- string
format: date-time
completedAt:
type:
- 'null'
- string
format: date-time
expiresAt:
type:
- 'null'
- string
format: date-time
description: Moment after which the file is no longer downloadable. Reports are retained for 30 days after completion.
downloadUrl:
type:
- 'null'
- string
format: uri
description: Present when the report is completed and not expired.
required:
- pimImportJobId
- brandUuid
- status
- filename
- createdAt
required:
- type
- id
- attributes
'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'
'422':
description: 'Unprocessable Entity : Data provided are invalid'
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: 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:
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'
get:
summary: List error reports
operationId: catalog-exchange-error-reports-list
description: Returns the error reports owned by the authenticated brand, sorted by descending creation date.
tags:
- Catalog Exchange
responses:
'200':
description: List of error reports for the authenticated brand, sorted by descending creation date.
content:
application/vnd.api+json:
schema:
type: object
required:
- data
- jsonapi
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:
type: object
properties:
type:
type: string
description: '[resource object type](https://jsonapi.org/format/#document-resource-object-identification)'
id:
type: string
description: '[resource object identifier (uuid)](https://jsonapi.org/format/#document-resource-object-identification)'
format: uuid
attributes:
type: object
properties:
pimImportJobId:
type: string
format: uuid
description: Identifier of the PIM import job whose failed items are reported.
brandUuid:
type: string
format: uuid
description: Owning brand UUID.
status:
type: string
description: Lifecycle status of the error report.
enum:
- created
- started
- completed
- failed
filename:
type: string
description: Name the file will be served as.
failureReason:
type:
- 'null'
- string
description: Reason of failure, set only when the status is `failed`.
createdAt:
type: string
format: date-time
startedAt:
type:
- 'null'
- string
format: date-time
completedAt:
type:
- 'null'
- string
format: date-time
expiresAt:
type:
- 'null'
- string
format: date-time
description: Moment after which the file is no longer downloadable. Reports are retained for 30 days after completion.
downloadUrl:
type:
- 'null'
- string
format: uri
description: Present when the report is completed and not expired.
required:
- pimImportJobId
- brandUuid
- status
- filename
- createdAt
required:
- type
- id
- attributes
'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:
# --- truncated at 32 KB (80 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ankorstore/refs/heads/main/openapi/ankorstore-catalog-exchange-api-openapi.yml