Help improve docs quality by sharing anonymous interaction telemetry (no PII or token data).

Catalog API Reference

REST schemas and generated examples for products, plans, features, add-ons, and meters.

Mock API reference used by the interactive docs explorer.

OpenAPI versionContract versionREST base path
3.1.02026-03-15/api/v1

Servers

URLEnvironment
https://app.monetizekit.app/api/v1Development environment
https://app.monetizekit.app/api/v1Staging environment
https://app.monetizekit.app/api/v1Production environment

catalog operations

List plans

GET /plans — Returns plans visible to the current workspace.

Operation ID: plans.list.

Required scopes: plans:read.

Parameters

NameInRequiredDescriptionSchemaExample
pagequerynoOne-based page number.{ "type": "integer" }1
pageSizequerynoNumber of records per page.{ "type": "integer" }20

Responses

200 — Success

{
  "type": "object",
  "required": [
    "data",
    "total",
    "page",
    "pageSize",
    "totalPages",
    "hasNext",
    "hasPrev"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "key",
          "name",
          "status"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "published",
              "archived"
            ]
          }
        }
      }
    },
    "total": {
      "type": "integer"
    },
    "page": {
      "type": "integer"
    },
    "pageSize": {
      "type": "integer"
    },
    "totalPages": {
      "type": "integer"
    },
    "hasNext": {
      "type": "boolean"
    },
    "hasPrev": {
      "type": "boolean"
    }
  }
}
{
  "data": [
    {
      "id": "plan_001",
      "key": "starter_monthly",
      "name": "Starter",
      "status": "published"
    }
  ],
  "total": 1,
  "page": 1,
  "pageSize": 20,
  "totalPages": 1,
  "hasNext": false,
  "hasPrev": false
}

Create plan

POST /plans — Creates a draft plan with entitlements and pricing terms.

Operation ID: createPlan.

Required scopes: plans:write.

Request schema

{
  "type": "object",
  "required": [
    "productId",
    "name"
  ],
  "properties": {
    "productId": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string"
    }
  }
}

Request example

{
  "productId": "prod_saas",
  "name": "Growth",
  "description": "Growth plan"
}

Responses

201 — Created

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    }
  }
}
{
  "id": "plan_002",
  "status": "draft"
}

Loading OpenAPI contract...

Was this page helpful?