Endpoints
- Clone — creates a local copy in your workspace with no ongoing connection
- Subscribe — creates a live link that receives publisher version updates
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
catalogId | string | Yes | The Hub catalog ID |
Clone
POST /api/hub/catalogs/{catalogId}/clone
Creates a complete copy of the catalog in your workspace as a new, standalone catalog. No ongoing connection to the publisher — you own the copy entirely.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
targetWorkspaceId | string | No | Workspace to clone into (defaults to the key’s workspace) |
catalogName | string | No | Name for the new catalog (defaults to original name + ” (Clone)“) |
Response
Clone examples
Subscribe
POST /api/hub/catalogs/{catalogId}/subscribe
Creates a live subscription to the Hub catalog. When the publisher releases a new version, your workspace receives a notification and can sync.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
syncStrategy | string | Yes | "auto" or "manual" |
conflictResolution | string | Yes | "keep_local", "accept_remote", or "manual_review" |
Sync strategies
| Strategy | Behavior |
|---|---|
auto | New publisher versions are automatically applied to your local catalog |
manual | New versions are queued — you must explicitly trigger sync |
Conflict resolution strategies
| Strategy | Behavior |
|---|---|
keep_local | Your local edits always win when they conflict with publisher changes |
accept_remote | Publisher changes always win — your local edits are overwritten |
manual_review | Conflicts are queued for manual resolution via the UI or API |
Response
Subscribe examples
Clone vs Subscribe comparison
| Feature | Clone | Subscribe |
|---|---|---|
| Creates local catalog | Yes | Yes |
| Ongoing publisher updates | No | Yes |
| Sync on new versions | No | Yes (auto or manual) |
| Conflict resolution | N/A | Configurable |
| Can edit local copy | Yes (fully) | Yes (with conflict resolution) |
| Cost (paid catalogs) | One-time | Recurring (if subscription pricing) |
Error responses
| HTTP status | Code | Description |
|---|---|---|
| 402 | PAYMENT_REQUIRED | Paid catalog — complete Stripe Checkout first |
| 403 | INSUFFICIENT_PERMISSIONS | API key lacks required permission |
| 404 | CATALOG_NOT_FOUND | Hub catalog not found or unpublished |
| 409 | ALREADY_SUBSCRIBED | Workspace already has an active subscription (subscribe only) |
| 429 | RATE_LIMIT_EXCEEDED | Too many requests |