Kaiten

Get the public catalogue

What a pricing page shows: for each licence family the organization made public, its default version with its ACTIVE prices and user-facing entitlements, and the same for public add-on families. Read with a publishable key (X-Kaiten-Publishable-Key); the organization is the key's. Amounts are in minor units; never sum metered prices into a headline. Cacheable for 60 seconds.

GET
/public/catalog

Authorization

publishableKey
X-Kaiten-Publishable-Key<token>

A Kaiten publishable key (pk_...). Not a secret: it ships in web pages, and authorizes reading the organization's public catalogue and nothing else. A browser request must come from one of the key's allowed origins. Never send it as Authorization; a request carrying Authorization is refused.

In: header

Query Parameters

familySlug?string

Only this licence family

include?array<>|

addons (the default) lists the public add-ons too; none leaves them out

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://app.kaiten.sh/api/public/catalog"
{
  "addOns": [
    {
      "addonId": "ed930881-3f27-4e25-9365-ff53ffbcfa14",
      "addonSlug": "extra-seats-v1",
      "compatibleLicenseFamilies": [
        "string"
      ],
      "description": "string",
      "entitlements": [
        {
          "limitCapExceededOveragePercent": 0,
          "name": "string",
          "overrideBehavior": "ADD",
          "slug": "string",
          "type": "BOOLEAN",
          "value": null
        }
      ],
      "familySlug": "extra-seats",
      "maxQuantity": 0,
      "name": "string",
      "prices": [
        {
          "billingModel": "FLAT_FEE",
          "billingPeriod": "MONTHLY",
          "billingTiming": "ADVANCE",
          "currency": "EUR",
          "displayLabel": "Pro plan",
          "displayOrder": 0,
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "isDefault": true,
          "metered": {
            "entitlementSlug": "tokens",
            "saleUnitFactor": "10000",
            "saleUnitPlural": "10k tokens",
            "saleUnitSingular": "10k tokens"
          },
          "unitAmount": 2900,
          "unitAmountDecimal": "2900"
        }
      ],
      "pricingType": "FREE"
    }
  ],
  "branding": {
    "poweredByRemovable": true
  },
  "capabilities": {
    "anonymousCheckout": true,
    "checkout": true,
    "paymentMethods": true,
    "turnstileSiteKey": "string"
  },
  "plans": [
    {
      "compatibleAddonFamilies": [
        "string"
      ],
      "currency": "EUR",
      "description": "string",
      "entitlements": [
        {
          "description": "string",
          "displayOrder": 0,
          "icon": "string",
          "limitCapExceededOveragePercent": 0,
          "name": "Seats",
          "saleUnitFactor": "string",
          "saleUnitPlural": "string",
          "saleUnitSingular": "string",
          "slug": "seats",
          "type": "BOOLEAN",
          "unitPlural": "seats",
          "unitSingular": "seat",
          "unlimited": true,
          "value": null
        }
      ],
      "familySlug": "pro",
      "licenseId": "be894337-ec7c-4bdc-ac72-f939e31237ae",
      "licenseSlug": "pro-v3",
      "lifecycleState": "PUBLISHED",
      "name": "Pro",
      "prices": [
        {
          "billingModel": "FLAT_FEE",
          "billingPeriod": "MONTHLY",
          "billingTiming": "ADVANCE",
          "currency": "EUR",
          "displayLabel": "Pro plan",
          "displayOrder": 0,
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "isDefault": true,
          "metered": {
            "entitlementSlug": "tokens",
            "saleUnitFactor": "10000",
            "saleUnitPlural": "10k tokens",
            "saleUnitSingular": "10k tokens"
          },
          "unitAmount": 2900,
          "unitAmountDecimal": "2900"
        }
      ],
      "pricingType": "FREE",
      "requiresPaymentMethod": true,
      "selfServe": true,
      "selfServeCtaUrl": "string",
      "trialPeriodDays": 0
    }
  ]
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}
{
  "code": "License.NotFound",
  "detail": "license not found",
  "errorId": "3f6b1a2c-7c1e-4d0b-9d5f-2b0a1c4e8d31",
  "errors": [
    {
      "location": "string",
      "message": "string",
      "value": null
    }
  ],
  "instance": "/api/licenses/enterprise",
  "status": 404,
  "title": "Not Found",
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4"
}