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/topicsQuery 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/:idReturns the topic with its content_json (TipTap/ProseMirror JSON).
Create a topic
POST /api/v1/topicsBody: { "title": "...", "content_json": {...} }
Update a topic
PATCH /api/v1/topics/:idBody: any combination of title, content_json, status.
Delete a topic
DELETE /api/v1/topics/:idReturns 204 No Content on success.
Components
List components
GET /api/v1/componentsQuery parameters: offset, limit.
Get a component
GET /api/v1/components/:idCreate a component
POST /api/v1/componentsBody: { "title": "...", "content_json": {...} }
Update a component
PATCH /api/v1/components/:idDelete a component
DELETE /api/v1/components/:idMaps
List maps
GET /api/v1/mapsGet a map
GET /api/v1/maps/:idReturns the map with its items (topic references and hierarchy).
Create a map
POST /api/v1/mapsBody: { "title": "...", "description": "..." }
Update a map
PATCH /api/v1/maps/:idDelete a map
DELETE /api/v1/maps/:idPublication 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/targetsEach target includes map_id, name, output_format, subdomain, custom_domain, is_published, published_at, and access_mode.
Get a target
GET /api/v1/targets/:idReturns the full target configuration, including seo_json, variable_overrides_json, locale, search_config_json, and pdf_config_json.
Webhooks
List webhooks
GET /api/v1/webhooksCreate a webhook
POST /api/v1/webhooksBody: { "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/:idDelete a webhook
DELETE /api/v1/webhooks/:idAll 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
REST API overview: base URL, rate limits, response format, and error codes
REST API authentication: generate and manage API keys
Configure webhooks: event-driven notifications as an alternative to polling
Plans and limits: the REST API requires a Business plan