OK Capsule Pack Builder mapped products API

The Pack Builder mapped products API from OK Capsule — 2 operation(s) for pack builder mapped products.

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/ok-capsule-pack-builder-mapped-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 email required.

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

OpenAPI Specification

ok-capsule-pack-builder-mapped-products-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: '## Overview


    The OK Capsule API enables you to programmatically create supplement orders, manage consumers, and track shipments. It is a REST API that accepts JSON requests, returns JSON responses, and uses standard HTTP methods and status codes.


    **All requests must be made over HTTPS.**


    📚 **Additional Resources:** [Getting Started Guide](https://docs.okcapsule.app/docs/getting-started) | [Recipes & Examples](https://docs.okcapsule.app/docs/category/recipes)


    ## Getting Started


    > **New to OK Capsule API?** Account and brand setup must be completed before contacting OK Capsule about API credentials. If you have not set up your account and brand yet, start with the [Getting Started Guide](https://docs.okcapsule.app/docs/getting-started) before proceeding.


    1. **Set up your account** - Your OK Capsule account must be created and active

    2. **Set up your brand** - At least one Product Line must be configured in your account

    3. **Contact OK Capsule about API credentials** - Reach out to your OK Capsule representative once account and brand setup are complete

    4. **Authenticate** - POST to `/v2/authentication/token` to get an access token

    5. **List products** - GET `/v2/products` to see available supplements

    6. **Create an order** - POST to `/v2/orders` with consumer and product details

    7. **Track fulfillment** - Monitor order status and shipping via `/v2/orders` and `/v2/fulfillments`


    ## Environments


    | Environment | Purpose | Notes |

    |-------------|---------|-------|

    | **Production** | Live orders | Real fulfillment and shipping |

    | **Stage** | Testing | Test data only, no real shipments |


    ⚠️ Users and data are environment-specific. Stage credentials do not work in Production.


    ## Core Concepts


    | Term | Route | Description |

    |------|-------|-------------|

    | **Client** | `/v2/clients` | Your organization (business partner submitting orders) |

    | **Consumer** | `/v2/consumers` | Your end customer who receives supplements |

    | **Product** | `/v2/products` | A client-specific instance of an OKC Product with custom branding |

    | **Order** | `/v2/orders` | A request to fulfill supplements for a consumer |

    | **Order Line** | — | A set of pouches within an order (e.g., 30-day supply) |

    | **Pouch** | — | An individual daily packet of supplements |

    | **Fulfillment** | `/v2/fulfillments` | Shipping, tracking, and delivery information for an order |

    | **Assembly** | `/v2/assemblies` | A client''s predefined bundle of products (commonly called a "pack") |

    | **Product Line** | `/v2/product-lines` | A client''s marketing brand (appears on packaging) |

    | **OKC Product** | — | A supplement in the OK Capsule master catalog (what OKC purchases from vendors) |

    | **User** | `/v2/users` | An authorized person who accesses the API or portal |

    | **Contact** | `/v2/contacts` | A person associated with a client, managed for communication purposes |'
  version: 2.0.0
  title: OKC core API V2 Pack Builder mapped products API
  contact:
    name: Engineering Department, OKCapsule
    email: lukas@okcapsule.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- description: Production environment
  url: https://na1-prod.okcapsule.app
- description: Stage/Testing environment
  url: https://na1-stage.okcapsule.app
tags:
- name: Pack Builder mapped products
paths:
  /v2/pack-builders/{id}/mapped-products:
    get:
      tags:
      - Pack Builder mapped products
      security:
      - bearerAuth: []
      summary: Retrieves a pack builder mapped products
      operationId: getPackBuilderMappedProducts
      parameters:
      - $ref: '#/components/parameters/IdParameter'
      - $ref: '#/components/parameters/LimitParameters'
      - $ref: '#/components/parameters/CursorParameters'
      - $ref: '#/components/parameters/SortByParameters'
      - $ref: '#/components/parameters/QueryParameters'
      description: Retrieves PackBuilderMappedProducts object
      responses:
        '200':
          description: Returns the PackBuilderMappedProducts object.
          content:
            application/json:
              schema:
                type: object
                properties:
                  pack_builder_mapped_products:
                    type: array
                    items:
                      $ref: '#/components/schemas/PackBuilderProductsMapper'
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Validation error response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error response.
    post:
      tags:
      - Pack Builder mapped products
      security:
      - bearerAuth: []
      summary: Add a pack builder mapped product
      operationId: setPackBuilderMappedProduct
      description: Add a PackBuilderMappedProduct object
      parameters:
      - $ref: '#/components/parameters/IdParameter'
      - in: query
        name: q
        description: For internal users only. Use Query DSL *query_string* syntax to send client id.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - pack_builder_id
              - client_product_id
              - destination_product_id
              description: Map a client product to a destination product in an external system (e.g., Shopify)
              properties:
                pack_builder_id:
                  type: string
                  format: uuid
                  description: Pack builder ID
                  example: 29f24a23-68dd-41bb-9aba-f958c10c7d39
                client_product_id:
                  type: string
                  format: uuid
                  description: Internal client product ID
                  example: 4eecd79f-a4a5-4b47-a454-1e32097e5ac0
                destination_product_id:
                  type: string
                  description: External system product ID
                  example: gid://shopify/Product/123456789
                destination_product_name:
                  type: string
                  description: Product name in external system
                  example: Calcium 500mg
                destination_product_sku:
                  type: string
                  description: SKU in external system
                  example: CAL-500
                destination_product_description:
                  type: string
                  description: Product description
                  example: Premium calcium supplement for bone health
                destination_product_price:
                  type: number
                  description: Price in external system
                  example: 19.99
                destination_product_image_url:
                  type: string
                  format: uri
                  description: Product image URL
                  example: https://cdn.shopify.com/products/calcium.jpg
                destination_product_serving_size:
                  type: integer
                  description: Serving size
                  example: 1
              example:
                pack_builder_id: 29f24a23-68dd-41bb-9aba-f958c10c7d39
                client_product_id: 4eecd79f-a4a5-4b47-a454-1e32097e5ac0
                destination_product_id: gid://shopify/Product/123456789
              x-examples:
                required-only:
                  summary: Map with required fields only
                  value:
                    pack_builder_id: 29f24a23-68dd-41bb-9aba-f958c10c7d39
                    client_product_id: 4eecd79f-a4a5-4b47-a454-1e32097e5ac0
                    destination_product_id: gid://shopify/Product/123456789
                complete:
                  summary: Map with all metadata
                  value:
                    pack_builder_id: 29f24a23-68dd-41bb-9aba-f958c10c7d39
                    client_product_id: 4eecd79f-a4a5-4b47-a454-1e32097e5ac0
                    destination_product_id: gid://shopify/Product/123456789
                    destination_product_name: Calcium 500mg
                    destination_product_sku: CAL-500
                    destination_product_description: Premium calcium supplement
                    destination_product_price: 19.99
                    destination_product_image_url: https://cdn.shopify.com/products/calcium.jpg
                    destination_product_serving_size: 1
        description: Pack Builder mapped product to create
      responses:
        '200':
          description: Returns the PackBuilderProductMapped object.
          content:
            application/json:
              schema:
                type: object
                properties:
                  pack_builder_mapped_product:
                    type: object
                    $ref: '#/components/schemas/PackBuilderProductsMapper'
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Validation error response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error response.
  /v2/pack-builders/{id}/mapped-products/{mappedProductId}:
    delete:
      tags:
      - Pack Builder mapped products
      security:
      - bearerAuth: []
      summary: Delete a pack builder mapped product
      operationId: deletePackBuilderMappedProduct
      description: Delete a PackBuilderMappedProduct object.
      parameters:
      - $ref: '#/components/parameters/IdParameter'
      - in: query
        name: q
        description: For internal users only. Use Query DSL *query_string* syntax to send client id.
        schema:
          type: string
      - in: path
        name: mappedProductId
        required: true
        schema:
          type: string
          minimum: 1
      responses:
        '204':
          $ref: '#/components/responses/204ConfirmDeletion'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error response.
components:
  parameters:
    SortByParameters:
      in: query
      name: sort_by
      description: Sort values by a specific property. See available sort by values in the table.
      schema:
        type: string
    QueryParameters:
      in: query
      name: q
      description: Use Query DSL *query_string* syntax
      schema:
        type: string
    LimitParameters:
      in: query
      name: limit
      description: Number of results to return. Default 50, max 250.
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 250
    CursorParameters:
      in: query
      name: cursor
      description: Return results before/after a specific record.
      schema:
        type: string
    IdParameter:
      in: path
      name: id
      required: true
      schema:
        type: string
        minimum: 1
  schemas:
    ValidationError:
      type: object
      title: Validation Error
      required:
      - message
      - errors
      description: A validation error response from the OK Capsule API (Joi validation)
      properties:
        message:
          description: A human-readable message indicating a validation error occurred.
          maxLength: 40000
          type: string
          example: Validation error
        errors:
          description: An array of validation errors from Joi schema validation
          type: array
          items:
            type: object
            required:
            - message
            - type
            properties:
              message:
                description: A human-readable message providing more details about the validation error.
                type: string
                example: '''business_name'' is required'
              type:
                description: The Joi validation type that failed.
                type: string
                example: any.required
    ErrorModel:
      title: Error Model
      description: An error response from the OK Capsule API
      type: object
      properties:
        error:
          title: Error Model Content
          type: object
          description: Error details object
          required:
          - message
          properties:
            errorCode:
              description: For some errors that could be handled programmatically, a short string indicating the error code.
              maxLength: 5000
              type: string
              example: RESOURCE_NOT_FOUND
            message:
              description: A human-readable message providing more details about the error.
              maxLength: 40000
              type: string
              example: The requested resource was not found
        message:
          description: Top-level error message (present in some error responses)
          type: string
          example: Internal Server Error
      required:
      - error
    PackBuilderProductsMapper:
      allOf:
      - type: object
        required:
        - id
        - pack_builder_id
        - client_product_id
        - destination_product_id
        properties:
          id:
            type: string
            format: uuid
            example: 69d58301-84c2-447d-9064-3326d14beed7
          pack_builder_id:
            type: string
            format: uuid
            example: 29f24a23-68dd-41bb-9aba-f958c10c7d39
          client_product_id:
            type: string
            format: uuid
            example: 4eecd79f-a4a5-4b47-a454-1e32097e5ac0
          destination_product_id:
            type: string
            example: 4eecd79f-a4a5-4b47-a454-1e32097e5ac0
          destination_product_name:
            type: string
            example: Calcium
          destination_product_sku:
            type: string
            example: sku001
          destination_product_description:
            type: string
            example: This is a short description of Product A.
          destination_product_price:
            type: number
            example: 0.5
          destination_product_image_url:
            type: string
            example: http://image_url.com
          destination_product_serving_size:
            type: number
            example: 1
          destination_product_status:
            type: string
            example: active
          client_product_active:
            type: boolean
            example: true
      - type: object
        required:
        - created_at
        - updated_at
        properties:
          created_at:
            type: string
            format: date-time
            readOnly: true
            example: '2023-03-20T09:12:28Z'
          updated_at:
            type: string
            format: date-time
            readOnly: true
            example: '2023-03-20T09:12:28Z'
  responses:
    204ConfirmDeletion:
      description: Confirms resource deletion.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT