Skip to content

REST API endpoints

This reference covers all available REST API overview endpoints. Every request requires REST API authentication.

Before you begin

This feature requires the Enterprise capability tier (the Business ). During the beta, every project is on the free Solo tier, so this feature is locked by default: go to Settings ▸ Billing and request Enterprise access to unlock it.

Topics

List topics

GET /api/v1/topics

Query parameters: offset, limit, status (draft, review, published), type.

curl https://topicary.com/api/v1/topics?status=published \
  -H "Authorization: Bearer tk_your_key"

Get a topic

GET /api/v1/topics/:id

Returns the topic with its content_json (TipTap/ProseMirror JSON).

Create a topic

POST /api/v1/topics

Body: { "title": "...", "content_json": {...} }

Update a topic

PATCH /api/v1/topics/:id

Body: any combination of title, content_json, status.

Delete a topic

DELETE /api/v1/topics/:id

Returns 204 No Content on success.

Components

List components

GET /api/v1/components

Query parameters: offset, limit.

Get a component

GET /api/v1/components/:id

Create a component

POST /api/v1/components

Body: { "title": "...", "content_json": {...} }

Update a component

PATCH /api/v1/components/:id

Delete a component

DELETE /api/v1/components/:id

Maps

List maps

GET /api/v1/maps

Get a map

GET /api/v1/maps/:id

Returns the map with its items (topic references and hierarchy).

Create a map

POST /api/v1/maps

Body: { "title": "...", "description": "..." }

Update a map

PATCH /api/v1/maps/:id

Delete a map

DELETE /api/v1/maps/:id

Publication targets

Publication targets are read-only through the API. Create, configure, and publish targets in the Topicary publish manager. The API exposes them for inspection only.

List targets

GET /api/v1/targets

Each target includes map_id, name, output_format, subdomain, custom_domain, is_published, published_at, and access_mode.

Get a target

GET /api/v1/targets/:id

Returns the full target configuration, including seo_json, variable_overrides_json, locale, search_config_json, and pdf_config_json.

Webhooks

List webhooks

GET /api/v1/webhooks

Create a webhook

POST /api/v1/webhooks

Body: { "url": "https://...", "events": ["topic.status_changed", "map.published"] }

See Configure webhooks for the full list of event types.

Update a webhook

PATCH /api/v1/webhooks/:id

Delete a webhook

DELETE /api/v1/webhooks/:id

All endpoints return data in the standard REST API overview. List endpoints support pagination. Error responses carry the failure category in the HTTP status code and a human-readable message in the error field.


See also

Was this page helpful?