Logik.io Runtime - Bill of Materials API

Get Bill of Materials (BOM) information for a given configuration UUID.

Operations 4

GET /api/{uuid}/bom Get BOM #
GET /api/{uuid}/bom/sales Get Sales BOM #
GET /api/{uuid}/bom/manufacturing Get Manufacturing BOM #
GET /api/{uuid}/bom/{custom} Get Custom BOM #

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/logikio-runtime-bill-of-materials-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

logikio-runtime-bill-of-materials-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Logik Configurator Runtime APIs V2 Runtime - Bill of Materials API
  version: 2.1.0
  description: "Logik.io End User API Definition. Shows payload structure and schema, authroization approach and endpoint format. Can be used for custom UI or headless implementations.\n\n## Important Versioning Information\n\nBlueprints that use Product Picker Fields ***must*** use the `application/vnd.logik.cfg-v2+json` Content-Type when making requests.\n\n The Runtime APIs are versioned using different Content-Types. There are 2 Content-Type formats, `application/json` for v1 and `application/vnd.logik.cfg-v2+json` for v2.\n  - `application/json`: can be used with regular Logik field types (number, boolean, text and picklist) and sets.\n  - `application/vnd.logik.cfg-v2+json`: can be used with all regular field types as well as Product Picker Fields.\n  \nThe Accept Header should match the Content-Type being used, either:\n  - `application/json`: for v1.\n  - `application/vnd.logik.cfg-v2+json, application/json`: for v2.\n"
  contact:
    email: support@logik.io
servers:
- url: https://{tenant}.{sector}.logik.io
  variables:
    tenant:
      default: example
      description: Logik.io tenant
    sector:
      default: test
      description: Logik.io sector
security:
- RuntimeTokenBearerAuth: []
tags:
- name: Runtime - Bill of Materials
  description: Get Bill of Materials (BOM) information for a given configuration UUID.
paths:
  /api/{uuid}/bom:
    get:
      tags:
      - Runtime - Bill of Materials
      summary: Get BOM
      description: Get BOM with the given uuid for current state of Configuration
      operationId: getAllBomV2
      parameters:
      - $ref: '#/components/parameters/headerOrigin'
      - $ref: '#/components/parameters/ConfigurationUUID'
      - $ref: '#/components/parameters/queryPage'
      - $ref: '#/components/parameters/queryLimit'
      - $ref: '#/components/parameters/querySort'
      - name: bomType
        in: query
        description: Pass comma separated list of bom types to be returned
        schema:
          type: string
      responses:
        200:
          description: Return Entire BOM snapshot of Configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/ServerError'
  /api/{uuid}/bom/sales:
    get:
      tags:
      - Runtime - Bill of Materials
      summary: Get Sales BOM
      description: Get Sales BOM with the given uuid for current state of Configuration
      operationId: getSalesBomV2
      parameters:
      - $ref: '#/components/parameters/headerOrigin'
      - $ref: '#/components/parameters/ConfigurationUUID'
      - $ref: '#/components/parameters/queryPage'
      - $ref: '#/components/parameters/queryLimit'
      - $ref: '#/components/parameters/querySort'
      responses:
        200:
          description: Return current sales BOM of Configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/ServerError'
  /api/{uuid}/bom/manufacturing:
    get:
      tags:
      - Runtime - Bill of Materials
      summary: Get Manufacturing BOM
      description: Get Manufacturing BOM with the given uuid for current state of Configuration.
      operationId: getManufacturingBomV2
      parameters:
      - $ref: '#/components/parameters/headerOrigin'
      - $ref: '#/components/parameters/ConfigurationUUID'
      - $ref: '#/components/parameters/queryPage'
      - $ref: '#/components/parameters/queryLimit'
      - $ref: '#/components/parameters/querySort'
      responses:
        200:
          description: Return Manufacturing BOM snapshot of Configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/ServerError'
  /api/{uuid}/bom/{custom}:
    get:
      tags:
      - Runtime - Bill of Materials
      summary: Get Custom BOM
      description: Get Custom BOM type line items defined in the admin
      operationId: getBomByNameV2
      parameters:
      - $ref: '#/components/parameters/headerOrigin'
      - name: custom
        in: path
        description: Custom BOM Type name
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/ConfigurationUUID'
      - $ref: '#/components/parameters/queryPage'
      - $ref: '#/components/parameters/queryLimit'
      - $ref: '#/components/parameters/querySort'
      responses:
        200:
          description: Returns BOM snapshot of Configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/ServerError'
components:
  responses:
    BadRequest:
      description: Bad request. See `errorMessage` for additional details.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource was not found. See `errorMessage` for additional details.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: Credentials are valid but insufficient privileges to perform the action on the resource.
    ServerError:
      description: Unexpected Server Error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotAuthorized:
      description: Authorization information is missing or invalid.
  schemas:
    ErrorResponse:
      type: object
      properties:
        errorMessage:
          type: string
        timestamp:
          type: string
          format: date-time
    BOMResponse:
      type: object
      properties:
        products:
          type: array
          items:
            $ref: '#/components/schemas/Product'
        pageable:
          type: object
          properties:
            sort:
              type: object
              properties:
                empty:
                  type: boolean
                sorted:
                  type: boolean
                unsorted:
                  type: boolean
            offset:
              type: integer
            pageNumber:
              type: integer
            pageSize:
              type: integer
            paged:
              type: boolean
            unpaged:
              type: boolean
        totalPages:
          type: integer
        totalElements:
          type: integer
        last:
          type: boolean
        size:
          type: integer
        number:
          type: integer
        numberOfElements:
          type: integer
        first:
          type: boolean
        empty:
          type: boolean
        total:
          type: integer
      example:
        total: 350
        pageable:
          sort:
            empty: false
            sorted: true
            unsorted: false
          offset: 0
          pageNumber: 0
          pageSize: 20
          paged: true
          unpaged: false
        totalPages: 1
        totalElements: 2
        last: true
        size: 20
        number: 0
        sort:
          empty: false
          sorted: true
          unsorted: false
        numberOfElements: 2
        first: true
        empty: false
        products:
        - id: SSM
          uom: ''
          name: Single Motherboard
          type: accessory
          level: 0
          price: 125
          bomType: Sales
          extPrice: 125
          quantity: 1
          partnerId: 01t6e000009gRTpAAM
          externalId: ''
          description: ''
          orderNumber: 10
          productCode: SSM
          rollUpPrice: 350
          productFamily: ''
          uniqueIdentifier: motherboard
        - id: CPU7320GHZRYZ3
          uom: ''
          name: AMD Ryzen 3 7320U
          type: accessory
          level: 1
          price: 225
          bomType: SALES
          extPrice: 225
          extended:
            watts: '150'
          quantity: 1
          partnerId: 01t6e000009bOfYAAU
          externalId: ''
          description: ''
          productCode: CPU7320GHZRYZ3
          rollUpPrice: 225
          parentProduct: motherboard
          productFamily: Hardware
          effectiveParent: motherboard
    Product:
      type: object
      properties:
        id:
          type: string
        selectionType:
          type: string
        quantity:
          type: integer
        bomType:
          type: string
        level:
          type: integer
        parentProduct:
          type: integer
        notes:
          type: string
        uniqueIdentifier:
          type: integer
        description:
          type: string
        externalId:
          type: string
        name:
          type: string
        price:
          type: number
        extPrice:
          type: number
  parameters:
    querySort:
      in: query
      name: sort
      description: Sort field and order of the results, specify property and order{asc|desc} of sort in format field,asc[desc]
      schema:
        type: string
        default: modified%2CDESC
      required: true
    queryLimit:
      in: query
      name: limit
      description: Size of the paged data results
      schema:
        type: number
        default: 100
      required: true
    headerOrigin:
      in: header
      name: Origin
      description: Request Origin, needs to be one of the allowed origins for the Runtime Token being used.
      schema:
        type: string
      required: true
    ConfigurationUUID:
      in: path
      name: uuid
      description: Unique Configuration ID Value
      required: true
      schema:
        type: string
    queryPage:
      in: query
      name: page
      description: Page number of results to return
      schema:
        type: number
        default: 0
      required: true
  securitySchemes:
    RuntimeTokenBearerAuth:
      type: http
      scheme: bearer
      description: "Runtime Token to use for requests. Created in the Logik.io Admin, under Runtime Clients. \n\nMust also be configured to allow the Origin that is passed as a Header parameter in all requests."