Yoobic Products API

Products represent usually physical products and are organised by [`catalog`](#group-catalogs) ### Fields | Field | Type | Required | Readonly | OrderBy | Description | |----------------------|:--------------:|:--------:|:--------:|:-------:|---------------------------| |`product_id` | string | | x | | Unique id of the product | |`title` | string | x | | | The product title | |`price` | number | | | | The product price | |`reference` | string | x | | | The product reference (SKU) | |`image` | string | | | | The url to the image | |`short_desc` | string | | | | Short description of the product | |`description` | string | | | | Description of the product | |`catalog_id` | string | x | | x | Unique id of the catalog | |`catalog_title` | string | x | | | Title of the catalog | |`tags` | array | | | | Tags assigned to the product | |`manufacturer` | string | | | | The manufacturer name of the product | |`brand` | string | | | | The brand name of the product | |`category` | string | | | | The category name of the product | |`images` | array | | | | The images associated with this product | |`out_of_stock` | boolean | | | | Whether or not product is available | |`created_date` | date | | x | | Creation date | |`updated_date` | date | | x | x | Last update date | |`custom_fields` | object | | | | Dynamic properties (optional)| One of either fields is required: - catalog_id - catalog_title **Important:** - The `image` property should be a secured public URL (HTTPS). - For best experience in the app, its recommended that the `image` be a square picture. - `custom_fields` contains new attributes that can be used to describe more precisely a product. Custom fields provide a new way to customize your product data by allowing you to filter and select the relevant data in the application. You can create your own custom fields in the YOOBIC Web Application in order to enrich your product data. For the full list of supported field types see [campaigns](#group-campaigns-question-types) - `reference` is unique per catalog. If a product is uploaded with a combination of `catalog_id` or `catalog_title` and reference that already exist, then the corresponding product is updated.

Operations 5

GET /public/api/products/{id} Get #
GET /public/api/products?filter={filter} Get All #
GET /public/api/products/count?where={where} Count #
GET /public/api/products/export?type={type}&filter={filter} Export #
POST /public/api/products/import?type={type} Import #

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/yoobic-products-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

yoobic-products-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: YOOBIC Public Products API
  version: ''
  description: Welcome to the **YOOBIC Public API** documentation.
servers:
- url: https://<base_url>/
tags:
- name: Products
  description: 'Products represent usually physical products and are organised by `catalog`


    ### Fields


    | Field | Type | Required | Readonly | OrderBy | Description |

    |----------------------|:--------------:|:--------:|:--------:|:-------:|---------------------------|

    |`product_id` | string | | x | | Unique id of the product |

    |`title` | string | x | | | The product title |

    |`price` | number | | | | The product price |

    |`reference` | string | x | | | The product reference (SKU) |

    |`image` | string | | | | The…'
paths:
  /public/api/products/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  product_id:
                    type: string
                  created_date:
                    type: string
                  updated_date:
                    type: string
                  title:
                    type: string
                  price:
                    type: number
                  reference:
                    type: string
                  image:
                    type: string
                  short_desc:
                    type: string
                  out_of_stock:
                    type: boolean
                  description:
                    type: string
                  catalog_id:
                    type: string
                  catalog_title:
                    type: string
                example:
                  product_id: 54ab03c6546847ee0d30081d
                  created_date: '2018-05-23T04:51:40.862Z'
                  updated_date: '2018-05-23T04:51:40.862Z'
                  title: Rocket ltd product 1
                  price: 20.4
                  reference: Rocket ltd SKU 1
                  image: https://res.cloudinary.com/yoobic/image/upload/v1475779283/r4b1ticoyezzkdubkidf.jpg
                  short_desc: <p>Rocket</p>
                  out_of_stock: false
                  description: <p>Great rocket example</p>
                  catalog_id: 54ab03c6546847ee0d30076b
                  catalog_title: Rockets Catalog
              examples:
                response:
                  value:
                    product_id: 54ab03c6546847ee0d30081d
                    created_date: '2018-05-23T04:51:40.862Z'
                    updated_date: '2018-05-23T04:51:40.862Z'
                    title: Rocket ltd product 1
                    price: 20.4
                    reference: Rocket ltd SKU 1
                    image: https://res.cloudinary.com/yoobic/image/upload/v1475779283/r4b1ticoyezzkdubkidf.jpg
                    short_desc: <p>Rocket</p>
                    out_of_stock: false
                    description: <p>Great rocket example</p>
                    catalog_id: 54ab03c6546847ee0d30076b
                    catalog_title: Rockets Catalog
      summary: Get
      operationId: Get
      description: Get a product for the given id.
      tags:
      - Products
      parameters:
      - name: id
        in: path
        description: The id of the product
        required: true
        example: 54ab03c6546847ee0d30081d
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      security:
      - oauth2: []
  /public/api/products?filter={filter}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
      summary: Get All
      operationId: Get All
      description: Get all the products.
      tags:
      - Products
      parameters:
      - name: filter
        in: query
        description: A valid JSON filter object
        required: false
        example: '{}'
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/Get_AllBody'
  /public/api/products/count?where={where}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                example:
                  count: 10
              examples:
                response:
                  value:
                    count: 10
      summary: Count
      operationId: Count
      description: Count all the existing entities based on the where filter
      tags:
      - Products
      parameters:
      - name: where
        in: query
        description: A valid JSON [Where filter](#section-api-requests-filter-where)
        required: false
        example: '{ "property": "value" }'
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/Get_AllBody'
  /public/api/products/export?type={type}&filter={filter}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  type:
                    type: string
                  priority:
                    type: number
                  nextRunAt:
                    type: string
                  _id:
                    type: string
                example:
                  name: Export file
                  type: normal
                  priority: 0
                  nextRunAt: '2018-09-11T15:56:05.387Z'
                  _id: 5b97e5954b99568b4b9101af
              examples:
                response:
                  value:
                    name: Export file
                    type: normal
                    priority: 0
                    nextRunAt: '2018-09-11T15:56:05.387Z'
                    _id: 5b97e5954b99568b4b9101af
      summary: Export
      operationId: Export
      description: 'Export all results as a file.

        This action is asynchronous and returns the id of a job. See `jobs` endpoint to query the status of the job. The file will contain the results with all of the fields specified on the resource.'
      tags:
      - Products
      parameters:
      - name: type
        in: path
        description: The type of file, either `csv` (default value) or `excel`
        required: true
        example: csv
        schema:
          type: string
      - name: filter
        in: query
        description: A valid JSON filter object (does not accept a `fields` filter)
        required: false
        example: '{}'
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/Get_AllBody'
  /public/api/products/import?type={type}:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  type:
                    type: string
                  priority:
                    type: number
                  nextRunAt:
                    type: string
                  _id:
                    type: string
                example:
                  name: Import file
                  type: normal
                  priority: 0
                  nextRunAt: '2018-09-11T15:56:05.387Z'
                  _id: 5b97e5954b99568b4b9101af
              examples:
                response:
                  value:
                    name: Import file
                    type: normal
                    priority: 0
                    nextRunAt: '2018-09-11T15:56:05.387Z'
                    _id: 5b97e5954b99568b4b9101af
      summary: Import
      operationId: Import
      description: 'See the Import file section for more information.


        ### Fields


        | Field | Type | Required | Description |

        |----------------------|:--------------:|:--------:|---------------------------|

        |`product_id` | string | | Unique id of the product |

        |`title` | string | x | The product title |

        |`price` | number | | The product price |

        |`reference` | string | x | The product reference (SKU) |

        |`image` | string | | The url to the image |

        |`short_desc` | string | | Short description of the product |

        |`description` | string | | Description of the product |

        |`catalog_id` | string | x | Unique id of the catalog |

        |`catalog_title` | string | x | Title of the catalog |

        |`tags` | array | | Tags of the product in the form "aaa,bbb" - multiple tags are comma separated |

        |`manufacturer` | string | | The manufacturer name of the product |

        |`brand` | string | | The brand name of the product |

        |`category` | string | | The category name of the product |

        |`images` | array | | The image urls associated with this product - multiple images are comma separated |

        |`out_of_stock` | boolean | | Whether or not product is available |

        |`created_date` | date | | Creation date |

        |`updated_date` | date | | Last update date |


        One of either fields is required:


        - catalog_id


        - catalog_title


        **important**:

        If you are using custom_fields, you can also add columns corresponding to the name of each of your custom_fields in your import file'
      tags:
      - Products
      parameters:
      - name: type
        in: path
        description: The type of file, either `csv` (default value) or `excel`
        required: true
        example: csv
        schema:
          type: string
      - name: Content-Disposition
        in: header
        description: e.g. form-data; name="file"; filename="file.csv"
        required: false
        example: form-data; name="file"; filename="file.csv"
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ImportBody'
components:
  requestBodies:
    ImportBody:
      content:
        multipart/form-data, boundary=AaB03x:
          schema:
            type: object
            properties:
              Authorization:
                $ref: '#/components/schemas/Default_Header'
    Get_AllBody:
      content:
        application/json:
          schema:
            type: object
            properties:
              Authorization:
                $ref: '#/components/schemas/Default_Header'
  schemas:
    Default_Header:
      type: object
      required:
      - Authorization
      properties:
        Authorization:
          type: string
          example: Bearer JWT
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: /
          tokenUrl: /
          scopes: {}