REKKI catalog API

The catalog API from REKKI — 12 operation(s) for catalog.

Operations 15

GET /integration/v1/catalog/items Get catalog items for authenticated supplier #
POST /integration/v1/catalog/items Creates or Updates an item on your catalog. If item with this product_code already exists, you can update this item. Item is looked up by product code #
GET /integration/v1/catalog/items/{id} Lists all orders placed for the supplier that were placed through REKKI. #
DELETE /integration/v1/catalog/items/{id} Delete an item from catalog #
POST /integration/v1/catalog/replace Drop all existing items from the catalog and upload new ones #
POST /integration/v2/catalog/items/availability Update availability status for one of the items in the catalog #
POST /integration/v3/catalog/inventory Update catalog stock availability for the supplier #
GET /integration/v3/catalog/items Get catalog items for authenticated supplier #
POST /integration/v3/catalog/items Creates or Updates multiple items on your catalog. If item with this product_code already exists, you can update this item. Item is looked up by product code #
POST /integration/v3/catalog/items/availability Update availability status for one of the items in the catalog #
POST /integration/v3/catalog/items/delete Delete items from catalog #
POST /integration/v3/catalog/items/photo #
GET /integration/v3/catalog/items/{id} Fetch a specific catalog item by its Id. #
POST /integration/v3/catalog/pricelist Update the price list for the supplier #
POST /integration/v3/catalog/replace Drop all existing items from the catalog and upload new ones #

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/rekki-catalog-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

rekki-catalog-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'The base URL for all API endpoints is https://api.rekki.com/api


    Api key value consists of word Bearer together with api key that you can get from integrations@rekki.com

    '
  title: Rekki.com Supplier Catalog API
  contact:
    email: integrations@rekki.com
  license:
    name: All rights reserved
  version: '1.0'
servers:
- url: https://api.rekki.com/api
tags:
- name: catalog
paths:
  /integration/v1/catalog/items:
    get:
      security:
      - ApiKeyAuth: []
      description: 'Lists all your catalog items. Sorted by creation date, with the oldest appearing first.

        No input parameters. Options for pagination and sorting direction may be introduced later.

        Response is a JSON object with a data property that contains catalog items of the authenticated supplier.'
      tags:
      - catalog
      summary: Get catalog items for authenticated supplier
      operationId: GetCatalogItems
      deprecated: true
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/main.CatalogItems'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
    post:
      security:
      - ApiKeyAuth: []
      description: "### Parameters\n\n- **`id`**\nREKKI's ID to uniquely identify the catalog item (for REKKI internal reference).\nIf `id` is specified the item will be update, if not it will attempt to insert it.\n- **`product_code`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nProduct code for the item that maps to the supplier's catalog.\nSuppliers can modify the product code for future orders at https://supplier.rekki.com\n- **`name`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nItem name as would be defined on the customer's product list.\n- **`currency`**  <span style=\"font-size: 12px; font-weight: 500;\">optional, default is GBP</span>\nCurrency code for the price. In [ISO 4217][] three-letter format.\n- **`units_prices`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nList of units and their prices that the item can be ordered in.\n- **`units_prices.unit`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nA unit that the item can be ordered in.\n- **`units_prices.price_cents`**  <span style=\"font-size: 12px; font-weight: 500;\">optional, default is 0</span>\nThe order price in cents for the item per unit.\nFor example, a currency of GBP with unit 5L and price 850 means a 5L item can be ordered for £8.50.\n- **`units_prices.stock_count`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nThe number of items in stock for the related unit.\n- **`availability`**  <span style=\"font-size: 12px; font-weight: 500;\">optional, default is \"in_stock\"</span>\nAvailability status of the item. Can be \"in_stock\" or \"out_of_stock\".\n- **`description`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nShort description of the item.\n- **`allergens`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of allergens for the item, if any.\n- **`allergens.type`**  <span style=\"font-size: 12px; font-weight: 500;\">required when allergens is given</span>\nType of allergy. For example \"contains peanuts\" or \"may contain peanuts\".\n- **`allergens.symptoms`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of symptoms for the allergy.\n- **`order_cutoff_times`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nCutt-off times are the minimum amount of time before delivery when the item can still be ordered.\n- **`order_cutoff_times.{mon,tue,wed,thu,fri,sat,sun}`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nMinimum amount of time, in hours, that an item needs to be ordered in advance of delivery for the given day.\n- **`replacement_products`**   <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of product codes for alternative items when this item is not available.\n- **`seasonality`**   <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of date ranges when the item is in-season.\n- **`seasonality.start_date`**  <span style=\"font-size: 12px; font-weight: 500;\">required when seasonality is given</span>\n  The start date when the item is in season. In [ISO 8601][] calendar date format `YYYY-MM-DD`.\n  - **`seasonality.end_date`**  <span style=\"font-size: 12px; font-weight: 500;\">required when seasonality is given</span>\n    The end date when the item is in season. In [ISO 8601][] calendar date format `YYYY-MM-DD`.\n"
      tags:
      - catalog
      summary: Creates or Updates an item on your catalog. If item with this product_code already exists, you can update this item. Item is looked up by product code
      operationId: UpdateCatalogItem
      deprecated: true
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/main.APISupplierCatalogItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/main.GenericErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/main.APISupplierCatalogItem'
        description: Payload
        required: true
  /integration/v1/catalog/items/{id}:
    get:
      security:
      - ApiKeyAuth: []
      tags:
      - catalog
      summary: Lists all orders placed for the supplier that were placed through REKKI.
      operationId: GetCatalogItem
      deprecated: true
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      - description: ID of the item to retrieve. Item IDs are discoverable when listing items.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/main.APISupplierCatalogItem'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/main.GenericErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
    delete:
      security:
      - ApiKeyAuth: []
      description: Delete an item from your catalog by its unique ID.
      tags:
      - catalog
      summary: Delete an item from catalog
      operationId: DeleteCatalogItem
      deprecated: true
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      - description: ID of the item to retrieve. Item IDs are discoverable when listing items.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/main.SuccessConfirmation'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
  /integration/v1/catalog/replace:
    post:
      security:
      - ApiKeyAuth: []
      description: "### Parameters\n\n- **`id`**\nREKKI's ID to uniquely identify the catalog item (for REKKI internal reference).\nIf `id` is specified the item will be update, if not it will attempt to insert it.\n- **`product_code`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nProduct code for the item that maps to the supplier's catalog.\nSuppliers can modify the product code for future orders at https://supplier.rekki.com\n- **`name`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nItem name as would be defined on the customer's product list.\n- **`currency`**  <span style=\"font-size: 12px; font-weight: 500;\">optional, default is GBP</span>\nCurrency code for the price. In [ISO 4217][] three-letter format.\n- **`units_prices`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nList of units and their prices that the item can be ordered in.\n- **`units_prices.unit`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nA unit that the item can be ordered in.\n- **`units_prices.price_cents`**  <span style=\"font-size: 12px; font-weight: 500;\">optional, default is 0</span>\nThe order price in cents for the item per unit.\nFor example, a currency of GBP with unit 5L and price 850 means a 5L item can be ordered for £8.50.\n- **`units_prices.stock_count`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nThe number of items in stock for the related unit.\n- **`availability`**  <span style=\"font-size: 12px; font-weight: 500;\">optional, default is \"in_stock\"</span>\nAvailability status of the item. Can be \"in_stock\" or \"out_of_stock\".\n- **`description`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nShort description of the item.\n- **`allergens`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of allergens for the item, if any.\n- **`allergens.type`**  <span style=\"font-size: 12px; font-weight: 500;\">required when allergens is given</span>\nType of allergy. For example \"contains peanuts\" or \"may contain peanuts\".\n- **`allergens.symptoms`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of symptoms for the allergy.\n- **`order_cutoff_times`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nCutt-off times are the minimum amount of time before delivery when the item can still be ordered.\n- **`order_cutoff_times.{mon,tue,wed,thu,fri,sat,sun}`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nMinimum amount of time, in hours, that an item needs to be ordered in advance of delivery for the given day.\n- **`replacement_products`**   <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of product codes for alternative items when this item is not available.\n- **`seasonality`**   <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of date ranges when the item is in-season.\n- **`seasonality.start_date`**  <span style=\"font-size: 12px; font-weight: 500;\">required when seasonality is given</span>\n  The start date when the item is in season. In [ISO 8601][] calendar date format `YYYY-MM-DD`.\n  - **`seasonality.end_date`**  <span style=\"font-size: 12px; font-weight: 500;\">required when seasonality is given</span>\n    The end date when the item is in season. In [ISO 8601][] calendar date format `YYYY-MM-DD`.\n"
      tags:
      - catalog
      summary: Drop all existing items from the catalog and upload new ones
      operationId: ReplaceCatalog
      deprecated: true
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/main.SuccessConfirmation'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/main.GenericErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/main.ReplaceCatalogInput'
        description: Payload
        required: true
  /integration/v2/catalog/items/availability:
    post:
      security:
      - ApiKeyAuth: []
      tags:
      - catalog
      summary: Update availability status for one of the items in the catalog
      operationId: UpdateCatalogItemAvailability
      deprecated: true
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/main.UpdateSuccess'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/main.GenericErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/main.SetStockStatusInput'
        description: Payload
        required: true
  /integration/v3/catalog/inventory:
    post:
      security:
      - ApiKeyAuth: []
      description: '### This API endpoint allows to update stock availability for products in the catalog.


        By associating customer accounts with specific inventory locations, suppliers restrict customers to view products that are only available in the stock at the given location.


        Provided stock availability details will override previous values for the specified customer accounts.

        Additionally, if a customer account number that was previously associated with the given inventory location but is omitted from the `customer_account_numbers` list, this account will be unlinked from the inventory location.

        '
      tags:
      - catalog
      summary: Update catalog stock availability for the supplier
      operationId: UpdateCatalogInventory
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.UpdateInventoryCatalogOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.GenericErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v3.UpdateCatalogInventoryInput'
        description: Payload
        required: true
  /integration/v3/catalog/items:
    get:
      security:
      - ApiKeyAuth: []
      description: 'Lists all your catalog items. Sorted by creation date, with the oldest appearing first.

        No input parameters. Options for pagination and sorting direction may be introduced later.

        Response is a JSON object with a data property that contains catalog items of the authenticated supplier.'
      tags:
      - catalog
      summary: Get catalog items for authenticated supplier
      operationId: GetCatalogItemsV3
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.CatalogItems'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
    post:
      security:
      - ApiKeyAuth: []
      description: "### Parameters\n\n- **`id`**\nREKKI's ID to uniquely identify the catalog item (for REKKI internal reference).\nIf `id` is specified the item will be update, if not it will attempt to insert it.\n- **`product_code`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nProduct code for the item that maps to the supplier's catalog.\nSuppliers can modify the product code for future orders at https://supplier.rekki.com\n- **`name`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nItem name as would be defined on the customer's product list.\n- **`currency`**  <span style=\"font-size: 12px; font-weight: 500;\">optional, default is GBP</span>\nCurrency code for the price. In [ISO 4217][] three-letter format.\n- **`units_prices`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nList of units and their prices that the item can be ordered in.\n- **`units_prices.unit`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nA unit that the item can be ordered in.\n- **`units_prices.price_cents`**  <span style=\"font-size: 12px; font-weight: 500;\">optional, default is 0</span>\nThe order price in cents for the item per unit.\nFor example, a currency of GBP with unit 5L and price 850 means a 5L item can be ordered for £8.50.\n- **`units_prices.stock_count`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nThe number of items in stock for the related unit.\n- **`availability`**  <span style=\"font-size: 12px; font-weight: 500;\">optional, default is \"in_stock\"</span>\nAvailability status of the item. Can be \"in_stock\" or \"out_of_stock\".\n- **`description`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nShort description of the item.\n- **`allergens`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of allergens for the item, if any.\n- **`allergens.type`**  <span style=\"font-size: 12px; font-weight: 500;\">required when allergens is given</span>\nType of allergy. For example \"contains peanuts\" or \"may contain peanuts\".\n- **`allergens.symptoms`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of symptoms for the allergy.\n- **`order_cutoff_times`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nCutt-off times are the minimum amount of time before delivery when the item can still be ordered.\n- **`order_cutoff_times.{mon,tue,wed,thu,fri,sat,sun}`**  <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nMinimum amount of time, in hours, that an item needs to be ordered in advance of delivery for the given day.\n- **`replacement_products`**   <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of product codes for alternative items when this item is not available.\n- **`seasonality`**   <span style=\"font-size: 12px; font-weight: 500;\">optional</span>\nList of date ranges when the item is in-season.\n- **`seasonality.start_date`**  <span style=\"font-size: 12px; font-weight: 500;\">required when seasonality is given</span>\n  The start date when the item is in season. In [ISO 8601][] calendar date format `YYYY-MM-DD`.\n  - **`seasonality.end_date`**  <span style=\"font-size: 12px; font-weight: 500;\">required when seasonality is given</span>\n    The end date when the item is in season. In [ISO 8601][] calendar date format `YYYY-MM-DD`.\n"
      tags:
      - catalog
      summary: Creates or Updates multiple items on your catalog. If item with this product_code already exists, you can update this item. Item is looked up by product code
      operationId: UpdateCatalogItemsV3
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.CatalogItems'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.GenericErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v3.UpdateCatalogInput'
        description: Payload
        required: true
  /integration/v3/catalog/items/availability:
    post:
      security:
      - ApiKeyAuth: []
      tags:
      - catalog
      summary: Update availability status for one of the items in the catalog
      operationId: UpdateCatalogItemAvailabilityV3
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.UpdateSuccess'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.AvailabilityErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v3.SetStockStatusInput'
        description: Payload
        required: true
  /integration/v3/catalog/items/delete:
    post:
      security:
      - ApiKeyAuth: []
      description: Delete items from the catalog by its unique IDs.
      tags:
      - catalog
      summary: Delete items from catalog
      operationId: DeleteCatalogItemsV3
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.SuccessConfirmation'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v3.DeleteCatalogItemsInput'
        description: Payload
        required: true
  /integration/v3/catalog/items/photo:
    post:
      security:
      - ApiKeyAuth: []
      description: Upload a photo for an item in the supplier catalog
      tags:
      - catalog
      operationId: UploadCatalogPhoto
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      - description: Product code of the item
        name: product_code
        in: query
        required: true
        schema:
          type: string
      - description: Unit of the item
        name: product_unit
        in: query
        required: true
        schema:
          type: string
      - description: Comma separated list of tags for the photo
        name: tags
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.UploadCatalogPhotoResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.GenericErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  description: Image file
                  format: binary
              required:
              - file
  /integration/v3/catalog/items/{id}:
    get:
      security:
      - ApiKeyAuth: []
      tags:
      - catalog
      summary: Fetch a specific catalog item by its Id.
      operationId: GetCatalogItemV3
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      - description: ID of the item to retrieve. Item IDs are discoverable when listing items.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.APISupplierCatalogItem'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.GenericErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
  /integration/v3/catalog/pricelist:
    post:
      security:
      - ApiKeyAuth: []
      description: '### This API endpoint allows to update price lists for customers.


        Customer accounts can be linked to specific price lists, enabling products to be viewed and purchased at corresponding prices.


        Provided price list details will override previous values for the specified customer accounts.

        Additionally, if a customer account number that was previously associated with the given price list is omitted from the `customer_account_numbers` list, this account will be unlinked from the price list.

        '
      tags:
      - catalog
      summary: Update the price list for the supplier
      operationId: UpdatePriceList
      parameters:
      - description: Required header
        name: X-REKKI-Authorization-Type
        in: header
        required: true
        schema:
          type: string
          enum:
          - supplier_api_token
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/v3.UpdatePriceListOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3.GenericErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/v3.UpdatePriceListInput'
        description: Payload
        required: true
  /integration/v3/catalog/replace:
    post:
      security:
      - ApiKeyAuth: []
      description: "### Parameters\n\n- **`id`**\nREKKI's ID to uniquely identify the catalog item (for REKKI internal reference).\nIf `id` is specified the item will be update, if not it will attempt to insert it.\n- **`product_code`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nProduct code for the item that maps to the supplier's catalog.\nSuppliers can modify the product code for future orders at https://supplier.rekki.com\n- **`name`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nItem name as would be defined on the customer's product list.\n- **`currency`**  <span style=\"font-size: 12px; font-weight: 500;\">optional, default is GBP</span>\nCurrency code for the price. In [ISO 4217][] three-letter format.\n- **`units_prices`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nList of units and their prices that the item can be ordered in.\n- **`units_prices.unit`**  <span style=\"font-size: 12px; font-weight: 500;\">required</span>\nA unit that the item can be ordered in.\n- **`units_prices.price_cents`**  <span style=\"font-size: 12px; font-weight: 500;\">optional, default is 0</span>\nThe order price in cents for the item per unit.\nFor example, a currency of GBP with unit 5L and price 850 means a 5L item can be ordered for £8.50.\n- **`units_prices.stock_count`**  <span style=\"font-size: 12px; font-weight: 500;\">option

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