Mirakl Store API
The Store API from Mirakl — 1 operation(s) for store.
The Store API from Mirakl — 1 operation(s) for store.
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/mirakl-store-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:
title: Mirakl Store API
version: ''
description: 'Operations tagged Store across 2 of this provider''s published API definitions: mirakl-account-channel-platform-openapi.yaml, mirakl-connect-channel-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- description: Account Channel Platform API
url: https://account.mirakl.net/api/channel-platform
- description: Connect Channel Platform API
url: https://miraklconnect.com/api/channel-platform
tags:
- name: Store
paths:
/v1/users/stores:
post:
description: '<div class="extension-title">Description</div>
Create multiple stores and link them to a user. This API should be used by connectors.
<div class="api-description-extension">
</div>'
operationId: SELLER_ACCOUNT_STORE_CREATE
parameters:
- description: Token used by app-account to identify the user, product, and vendor
explode: true
in: query
name: token
required: true
schema:
type: string
style: form
requestBody:
content:
application/json:
examples:
application/json-0:
summary: Example with business values (application/json)
value:
stores:
- access_expiration_date: '2025-04-25T10:00:00Z'
channel_id: '0001'
channel_store_id: id-store-1
name: Store 1
state: OPEN
suspension_type: null
- channel_id: '0002'
channel_store_id: id-store-2
name: Store 2
state: CLOSED
suspension_type: null
application/json-auto:
summary: Complete example with value types (application/json)
value:
stores:
- access_expiration_date: '2023-03-28T09:34:42Z'
channel_id: string
channel_store_id: string
name: string
state: string
suspension_type: string
schema:
$ref: '#/components/schemas/SELLER_ACCOUNT_STORE_CREATE_Request'
responses:
'201':
description: Stores have been created and linked to user
'401':
description: Invalid app-auth token
'403':
description: Unknown connector
'410':
description: Invalid link-store token
summary: SELLER_ACCOUNT_STORE_CREATE - Create stores and link them to a user
tags:
- Store
servers:
- description: Account Channel Platform API
url: https://account.mirakl.net/api/channel-platform
/v1/channels/{channel_id}/stores/{channel_store_id}:
put:
description: '<div class="extension-title">Description</div>
Update store. This API should be used by connectors.
<div class="api-description-extension">
</div>'
operationId: SELLER_ACCOUNT_STORE_UPDATE
parameters:
- description: Unique identifier of the channel that hosts the store
explode: false
in: path
name: channel_id
required: true
schema:
type: string
style: simple
- description: Unique identifier of the store within the specified channel
explode: false
in: path
name: channel_store_id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
examples:
application/json-0:
summary: Example with business values (application/json)
value:
access_expiration_date: null
name: Store
state: CLOSED
suspension_type: null
application/json-auto:
summary: Complete example with value types (application/json)
value:
access_expiration_date: '2023-03-28T09:34:42Z'
name: string
state: string
suspension_type: string
schema:
$ref: '#/components/schemas/SELLER_ACCOUNT_STORE_UPDATE_Request'
responses:
'200':
description: Store has been updated
'401':
description: Invalid token
'403':
description: Unknown connector
'404':
description: Unknown channel
summary: SELLER_ACCOUNT_STORE_UPDATE - Update store
tags:
- Store
servers:
- description: Account Channel Platform API
url: https://account.mirakl.net/api/channel-platform
components:
schemas:
SELLER_ACCOUNT_STORE_UPDATE_Request:
type: object
properties:
access_expiration_date:
type: string
format: date-time
description: Access expiration date
name:
type: string
description: Store name
state:
type: string
description: Store state
suspension_type:
type: string
description: Store suspension type
required:
- name
- state
SELLER_ACCOUNT_STORE_CREATE_Request:
type: object
properties:
stores:
type: array
description: Stores to create
items:
$ref: '#/components/schemas/SELLER_ACCOUNT_STORE_CREATE_Request_Stores'
required:
- stores
SELLER_ACCOUNT_STORE_CREATE_Request_Stores:
type: object
description: Stores to create
properties:
access_expiration_date:
type: string
format: date-time
description: Access expiration date
channel_id:
type: string
description: Channel id
channel_store_id:
type: string
description: Channel store id
name:
type: string
description: Store name
state:
type: string
description: Store state
suspension_type:
type: string
description: Store suspension type
required:
- channel_id
- channel_store_id
- name
- state
Error:
type: object
properties:
code:
type: string
description: Error code (immutable)
examples:
- DATA_NOT_FOUND
errors:
type: array
items:
$ref: '#/components/schemas/ErrorItem'
extensions:
type: object
description: Free map where you find additional context data to better describe the error
examples:
- maxLength: 255
minLength: 1
message:
type: string
description: Literal string error description (Please do not base your error handling on this field since it is subject to change)
examples:
- An error occurred while processing your request
required:
- code
- message
BusinessInformationInput:
type: object
properties:
currency:
type: string
description: Currency tag, expected in ISO 4217 format. Cannot be changed later.
example: USD
maxLength: 3
minLength: 1
pattern: ^[A-Z]{3}$
kyc_status:
type: string
description: 'KYC (Know Your Customer) status of the configuration.
If KYC is not required, the status will be set to NOT_REQUIRED.
Enum: `"PENDING_SUBMISSION"`, `"PENDING_APPROVAL"`, `"REFUSED"`, `"APPROVED"`, `"NOT_REQUIRED"`
'
kyc_status_reason:
type: string
description: 'Reason of a problem with the KYC configuration.
This information can be displayed to the seller if needed in Mirakl Connect
'
missing_configuration:
type: boolean
description: 'Indicates if the store is missing configuration to be properly functioning.
This can be either required information not filled or documents not sent.
False indicates that there is no missing configuration for the store.
True will raise a warning to the seller stating that they need to configure their store.
'
payment_information_configured:
type: boolean
description: 'Indicates if a payment method is configured for the store.
'
payment_information_warning:
type: string
description: "Reason of a problem with the payment configuration.\nA null value indicates no problems encountered, payment configuration is valid.\nAny content will raise a warning in Mirakl Connect for the seller stating that there might be a problem \nwith how their payment method is configured in the Marketplace where their store is located.\n"
quality_suspension_reasons:
type: array
description: "List of reasons for the suspension of the store related to quality standard defined by the Marketplace.\nA null or empty value indicates no problems encountered, store is not suspended.\nAny content will raise a warning in Mirakl Connect for the seller stating that there might be \nquality issues with their store.\n"
items:
$ref: '#/components/schemas/QualitySuspensionReason'
shipping_warning:
type: string
description: 'Reason of a problem with the shipping configuration.
A null value indicates no problems encountered, shipping configuration is valid.
'
sub_channels:
type: array
description: "List of sales channels inside the Marketplace where the store is located.\nThis is useful for marketplaces where sellers have a global product catalog with multiple sales channels.\nOne store can be provided per seller with as many sub channels as the sales channels the store operates in.\nBy doing so, the store will receive offers, prices and stock updates per sub channel. Product events will come once for the store.\n\nSub channels are a critical part, it can impact the business of a seller. \nBy deleting one the seller participates in, all offers synchronization will stop for the marketplace sales channel it relates to. Orders should also not be sent anymore to Connect.\n\nBehavior for the sub channel field:\n- Can be null if it was never filled before.\n- Can be an empty array if it was never filled before.\n- Cannot be emptied if there was at least one item before.\nHow to:\n- Add a new sub channel: add it to the list.\n- Update an existing sub channel: update the item in the list with the same id.\n- Delete an existing sub channel: remove it from the list.\n"
items:
$ref: '#/components/schemas/SubChannel'
updated_at:
type: string
format: date-time
description: 'Date of the last update of the store information.
Older event for a store will not be saved.
'
required:
- currency
- updated_at
QualitySuspensionReason:
type: object
properties:
period:
type: string
description: 'Period considered by the Marketplace for the statistics related to the rule.
'
example: Last month
rule:
type: string
description: 'Rule that triggered the suspension of the store.
This can be a rule related to quality, payment, shipping or any other rule defined by the Marketplace.
By assembling every parameters, we can build a human readable description of the rule.
'
example: Evaluation Grade last month was lower than 3.5 expected to never be lower than 4.0
rule_comparison_method:
type: string
description: 'Comparison method used by the Marketplace to evaluate the rule.
'
example: lower than
rule_type:
type: string
description: 'Type of the rule that triggered the suspension of the store such as DECIMAL or INTEGER.
'
example: DECIMAL
stat_value:
type: number
format: with decimals
description: 'Value of the statistic that triggered the rule.
This is the value that was compared to the threshold defined by the Marketplace.
'
example: 3.5
threshold:
type: number
format: with decimals
description: 'Threshold value defined by the Marketplace for the rule.
If the stat_value is lower than this threshold, the store is considered suspended.
'
required:
- rule
SubChannel:
type: object
properties:
currency:
type: string
description: Currency tag of the sub-channel, expected in ISO 4217 format. Cannot be changed later.
example: USD
maxLength: 3
minLength: 1
pattern: ^[A-Z]{3}$
id:
type: string
description: Id of the sub-channel inside the Marketplace where the store is located.
example: 12345
name:
type: string
description: Name of the sub-channel inside the Marketplace where the store is located.
example: Premium Sellers
required:
- currency
- id
- name
ErrorItem:
type: object
properties:
extensions:
type: object
description: Free map where you find additional context data to better describe the error
examples:
- maxLength: 255
minLength: 1
field:
type: string
description: JsonPath to the field where the error occurred
examples:
- input.account.id
message:
type: string
description: Literal string error item description (Please do not base your error handling on this field since it is subject to change)
examples:
- 'An error occurred while processing your request: id is null'
required:
- message
securitySchemes:
OAuth-2:
description: For more information, see our [Authentication System documentation](https://help.mirakl.com/docs/customers/page/topics/Mirakl/partners_integration/authentication_system.htm)
flows:
authorizationCode:
authorizationUrl: https://auth.mirakl.net/authorize
refreshUrl: https://auth.mirakl.net/oauth/token
scopes: {}
tokenUrl: https://auth.mirakl.net/oauth/token
type: oauth2
Bearer:
bearerFormat: JWT
scheme: bearer
type: http
x-refined-from:
- mirakl-account-channel-platform-openapi.yaml
- mirakl-connect-channel-openapi.json
x-group-parameters: true