List component catalog (defaults + installed)
Discover the built-in primitive catalog (87 primitives + 7 scenes) plus your installed components. Narrow with facet filters (category, kind, tier, useCase, mood) or free-text (q / intent); when ANY filter is set, results are ordered recommended-tier-first. With NO `limit` the WHOLE (filtered) catalog returns in one page — pass `limit` only to page. Each entry carries a `placement` hint telling you exactly how to author it on the timeline.
API key auth. Prefix cf_live_ for production orgs, cf_test_ for sandbox.
In: header
Query Parameters
Filter to one category bucket (text|effects|transitions|layouts|backgrounds|ui-blocks|scenes).
Value in
- "text"
- "effects"
- "transitions"
- "layouts"
- "backgrounds"
- "ui-blocks"
- "scenes"
Filter by render kind (component|transition|scene).
Value in
- "component"
- "transition"
- "scene"
Filter by curation tier (recommended|standard|niche).
Value in
- "recommended"
- "standard"
- "niche"
Filter to entries whose useCase includes this edit role (e.g. intro, title-over-footage, grade).
Value in
- "intro"
- "outro"
- "full-scene"
- "title-over-footage"
- "transition"
- "background"
- "grade"
- "emphasis"
- "explainer"
- "social-cut"
Filter to entries whose mood tags include this value (e.g. cinematic, minimal).
Free-text match across id/name/description/intent/useWhen/tags/mood. Recommend-orders results.
Alias of q framed as recommend-by-intent (e.g. intent=intro). Recommend-orders results.
Page size (1..100). Omit to return the whole filtered catalog in one page.
1 <= value <= 100Opaque cursor from a previous page's nextCursor (forward-only).
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/components"{ "data": [ { "id": "string", "name": "string", "description": "string", "source": "default", "category": "text", "kind": "component", "version": "string", "propSchema": { "property1": null, "property2": null }, "propDefaults": { "property1": null, "property2": null }, "textParam": "string", "subtextParam": "string", "format": { "aspectRatio": "16:9", "fps": 24, "resolution": "hd" }, "durationInFrames": 0, "intent": "string", "useWhen": "string", "pairsWith": [ "string" ], "avoidWith": [ "string" ], "tags": [ "string" ], "mood": [ "string" ], "tier": "recommended", "useCase": [ "intro" ], "examples": [ { "name": "string", "mood": [ "string" ], "params": { "property1": null, "property2": null }, "description": "string" } ], "fixedCopy": [ "string" ], "brandBindings": [ { "param": "string", "brandToken": "string" } ], "placement": { "clipSourceKind": "overlay", "refField": "primitiveId" } } ], "pagination": { "hasMore": true, "nextCursor": "string", "prevCursor": "string" }, "brandTokens": [ "string" ]}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}{ "error": { "code": "string", "message": "string", "details": { "property1": null, "property2": null } }}