Create a partner-managed catalog (G3-6)

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.thankly.ai/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
"Thankly MCP server": {
  "url": "https://docs.thankly.ai/mcp"
}
Close
POST /v1/admin/orgs/{org_id}/catalogs

Path parameters

  • org_id string Required
application/json

Body Required

  • slug string Required

    Minimum length is 1, maximum length is 64.

  • name string Required

    Minimum length is 1, maximum length is 120.

  • description string | null

    Maximum length is 500.

Responses

  • 201 application/json

    Successful Response

    Hide response attributes Show response attributes object
    • id string Required
    • slug string Required
    • name string Required
    • description string | null
    • org_id string | null
    • share_mode string Required

      Visibility / ownership semantics for a catalog row.

      Mirrors the catalog_share_mode Postgres enum created in the d5e8b1f7a3c2 migration.

      • private — owned by catalogs.org_id; only that org's partner apps can bind to it and only that org can mutate it.
      • public_demo — readable by every org (used for the seeded thankly-demo catalog and for legacy seed-script catalogs that pre-date the ownership model). Writes are rejected by the admin product-upsert and facet endpoints.

      Values are private or public_demo.

    • product_count integer

      Default value is 0.

    • created_at string(date-time) Required
    • updated_at string(date-time) Required
  • 422 application/json

    Validation Error

    Hide response attribute Show response attribute object
    • detail array[object]
      Hide detail attributes Show detail attributes object
      • loc array[string | integer] Required
      • msg string Required
      • type string Required
      • input
      • ctx object
POST /v1/admin/orgs/{org_id}/catalogs
curl \
 --request POST 'http://api.example.com/v1/admin/orgs/{org_id}/catalogs' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"slug":"string","name":"string","description":"string"}'
Request examples
{
  "slug": "string",
  "name": "string",
  "description": "string"
}
Response examples (201)
{
  "id": "string",
  "slug": "string",
  "name": "string",
  "description": "string",
  "org_id": "string",
  "share_mode": "private",
  "product_count": 0,
  "created_at": "2026-05-04T09:42:00Z",
  "updated_at": "2026-05-04T09:42:00Z"
}
Response examples (422)
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "ctx": {}
    }
  ]
}