New Orchly MCP & API are live. Build custom workflows with your SEO & AI visibility data.
POST /topics

Create topic

Create a topic to group prompts. Requires `content:write`.

Authenticate with Authorization: Bearer obk_live_xxx. See authentication.

Parameters

NameInTypeRequiredDescription
X-Workspace-Id header string required The workspace to scope the request to. Can also be passed as a `workspace_id` query parameter.

Request body

Send as JSON in the request body.

FieldTypeRequiredDescription
name string required
description string optional
enabled boolean optional

Responses

200 Created
FieldTypeDescription
topic Topic
422 Invalid request parameters

Example request

curl --request POST \
  --url https://app.orchly.ai/api/v1/topics \
  --header 'Authorization: Bearer obk_live_xxx' \
  --header 'X-Workspace-Id: ws_xxx' \
  --header 'Content-Type: application/json' \
  --data '{ "name": "..." }'
const res = await fetch(`https://app.orchly.ai/api/v1/topics`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer obk_live_xxx',
    'X-Workspace-Id': 'ws_xxx',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"name":"..."}),
});
const data = await res.json();
import requests

resp = requests.post(
    "https://app.orchly.ai/api/v1/topics",
    headers={
        "Authorization": "Bearer obk_live_xxx",
        "X-Workspace-Id": "ws_xxx",
    },
    json={"name":"..."},
)
data = resp.json()

Example response

A 200 response. Dynamic fields are shown as their type.

{
  "topic": {
    "id": "string",
    "name": "string",
    "description": "string",
    "enabled": true
  }
}