Mirakl Store API

The Store API from Mirakl — 1 operation(s) for store.

Operations 2

POST /v1/users/stores SELLER_ACCOUNT_STORE_CREATE - Create stores and link them to a user #
PUT /v1/channels/{channel_id}/stores/{channel_store_id} SELLER_ACCOUNT_STORE_UPDATE - Update store #

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/mirakl-store-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

mirakl-store-api-openapi.yml Raw ↑
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