Yoobic Inventory API

An Inventory is a custom data structure to manage and use data in a similar way as in a spreadsheet or database directly from the YOOBIC Platform. Each inventory has a defined structure that rely on the same fields as in a YOOBIC campaign. ### Fields | Field | Type | Required | Readonly | OrderBy | Description | |----------------------|:--------------:|:--------:|:--------:|:-------:|---------------------------| |`inventory_id` | string | x | x | | Unique id of the inventory | |`description` | string | | x | | The inventory description | |`name` | string | | x | | The inventory name | |`title` | string | | x | | The inventory title | |`group_ids` | array | | x | | Group ids that can see this inventory | |`page_titles` | array | | x | | An ordered list of page titles i.e. first title is the first page title etc. | |`questions` | array | | x | | The inventory's questions | |`created_date` | date | | x | | Creation date | |`updated_date` | date | | x | x | Last update date | The `questions` field is defined as an array of: | Field | Type | Description | |----------------------|----------------|---------------------------| |`question_id` | string | Unique id of the question | |`question_type` | string | The type of the question. Supported types: `text`, `textarea`, `toggle`, `checkbox`, `information`, `todo`, `photo`, `multiphotos`, `selectbuttons`, `select`, `selectmulti`, `address`, `date`, `number`, `starrating`, `image`. | |`question` | string | The title of the question | |`question_description`| string | The description of the question | |`mandatory` | boolean | If `true`, the question has to be answered. Defaults to `false` | |`page_number` | number | The number of the page the question appears in | |`question_number` | number | The number of the question | |`hide_mobile` | boolean | Hide the question on mobile devices. Defaults to `false`. | |`question_attributes` | object | Question attributes for specific question types.| The `question_attributes` field is defined as an object with the following fields: | Field | Type | Description | |----------------------|----------------|---------------------------| |`max_photos` | number | Maximum of allowed photos to upload. Applies only to questions of type `multiphotos`. | |`values` | array | Values to be displayed as options to choose from in the question. Applies only to questions of type `selectbuttons`, `select`, `selectmulti`. | |`min` | number | If present, value must be above or including it. Applies only to questions of type `number`. | |`max` | number | If present, value must be below or including it. Applies only to questions of type `number`, `starrating`. | #### Question Types **Important** Below is a list of the supported types and their value types: | question_type | Type | Description | |---------------|:--------------:|-------------| | address | string | | | date | string | | | information | string | | | select | string | Single value chosen from the `values` defined in `question_attributes` | | textarea | string | | | text | string | | | photo | URL | A valid image URL | | multiphotos | array of URLs | Valid image URLs and up to `max_photos` defined in `question_attributes` | | selectbuttons | array | Multiple values chosen from the `values` defined in `question_attributes` | | selectmulti | array | Multiple values chosen from the `values` defined in `question_attributes` | | number | number | Might have min, max borders as defined in `question_attributes` | | starrating | number | Might have max border as defined in `question_attributes`. No negatives allowed. | | checkbox | boolean | | | toggle | boolean | | | image | | This is a readonly property (informative) which does not have a value. | **Important** - If `page_titles` does not have a title for a given page then a default will be given - So i.e. if the values are - ```json [ "first chapter", "second chapter" ] ``` and there are three pages in total, then the title for the third page will be `Page 3`. - To filter on `live` campaigns only you should filter accordingly: ```json { "active": true, "archived": { "neq": true } } ```

Operations 4

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

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-inventory-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-inventory-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: YOOBIC Public Inventory API
  version: ''
  description: Welcome to the **YOOBIC Public API** documentation.
servers:
- url: https://<base_url>/
tags:
- name: Inventory
  description: An Inventory is a custom data structure to manage and use data in a similar way as in a spreadsheet or database directly from the YOOBIC Platform.
paths:
  /public/api/inventories/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  inventory_id:
                    type: string
                  title:
                    type: string
                  name:
                    type: string
                  description:
                    type: string
                  group_ids:
                    type: array
                    items:
                      type: string
                  created_date:
                    type: string
                  updated_date:
                    type: string
                example:
                  inventory_id: 5c015012ad45490041a52f64
                  title: Items
                  name: Grade A products
                  description: Listing of our A products
                  group_ids:
                  - testproduct
                  created_date: '2018-11-30T14:58:26.716Z'
                  updated_date: '2019-01-25T13:34:14.819Z'
              examples:
                response:
                  value:
                    inventory_id: 5c015012ad45490041a52f64
                    title: Items
                    name: Grade A products
                    description: Listing of our A products
                    group_ids:
                    - testproduct
                    created_date: '2018-11-30T14:58:26.716Z'
                    updated_date: '2019-01-25T13:34:14.819Z'
      summary: Get
      operationId: Get
      description: Get an inventory for the given id.
      tags:
      - Inventory
      parameters:
      - name: id
        in: path
        description: The id of the inventory
        required: true
        example: 5c015012ad45490041a52f64
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      security:
      - oauth2: []
  /public/api/inventories?filter={filter}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  paging:
                    type: object
                    properties:
                      total:
                        type: number
                      skip:
                        type: number
                      limit:
                        type: number
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        inventory_id:
                          type: string
                        title:
                          type: string
                        name:
                          type: string
                        description:
                          type: string
                        group_ids:
                          type: array
                          items:
                            type: string
                        created_date:
                          type: string
                        updated_date:
                          type: string
                      required:
                      - inventory_id
                      - title
                      - name
                      - description
                      - group_ids
                      - created_date
                      - updated_date
                example:
                  paging:
                    total: 2
                    skip: 0
                    limit: 1000
                  data:
                  - inventory_id: 5c015012ad45490041a52f64
                    title: Items
                    name: Grade A products
                    description: Listing of our A products
                    group_ids:
                    - testproduct
                    created_date: '2018-11-30T14:58:26.716Z'
                    updated_date: '2019-01-25T13:34:14.819Z'
                  - inventory_id: 5c015012ad45490041a52f65
                    title: Items
                    name: Grade B products
                    description: Listing of our B products
                    group_ids:
                    - testproduct
                    created_date: '2018-11-30T14:58:26.716Z'
                    updated_date: '2019-01-25T13:34:14.819Z'
              examples:
                response:
                  value:
                    paging:
                      total: 2
                      skip: 0
                      limit: 1000
                    data:
                    - inventory_id: 5c015012ad45490041a52f64
                      title: Items
                      name: Grade A products
                      description: Listing of our A products
                      group_ids:
                      - testproduct
                      created_date: '2018-11-30T14:58:26.716Z'
                      updated_date: '2019-01-25T13:34:14.819Z'
                    - inventory_id: 5c015012ad45490041a52f65
                      title: Items
                      name: Grade B products
                      description: Listing of our B products
                      group_ids:
                      - testproduct
                      created_date: '2018-11-30T14:58:26.716Z'
                      updated_date: '2019-01-25T13:34:14.819Z'
      summary: Get All
      operationId: Get All
      description: Get all the inventories.
      tags:
      - Inventory
      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/inventories/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:
      - Inventory
      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/inventories/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:
      - Inventory
      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'
components:
  schemas:
    Default_Header:
      type: object
      required:
      - Authorization
      properties:
        Authorization:
          type: string
          example: Bearer JWT
  requestBodies:
    Get_AllBody:
      content:
        application/json:
          schema:
            type: object
            properties:
              Authorization:
                $ref: '#/components/schemas/Default_Header'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: /
          tokenUrl: /
          scopes: {}