Skip to main content
Content and access work together. Content defines what exists. Access rules decide who can see it.

Admin content tree

Admin routes are scoped to a team and hub:
GET  /api/v1/teams/{team_id}/hubs/{hub_id}/content
POST /api/v1/teams/{team_id}/hubs/{hub_id}/content
GET  /api/v1/teams/{team_id}/hubs/{hub_id}/content/{node_id}
PATCH /api/v1/teams/{team_id}/hubs/{hub_id}/content/{node_id}
DELETE /api/v1/teams/{team_id}/hubs/{hub_id}/content/{node_id}
Use content nodes for libraries, folders, modules, lessons, articles, videos, and other structured member content.

Member content

Members read content through hub routes:
GET  /api/v1/hub/{hub_id}/content
GET  /api/v1/hub/{hub_id}/content/{node_id}
GET  /api/v1/hub/{hub_id}/content/{node_id}/children
POST /api/v1/hub/{hub_id}/content/{node_id}/progress
Progress is member-specific and can feed segments, email, automations, and access decisions.

Access rules

Access rules are hub-scoped:
GET  /api/v1/teams/{team_id}/hubs/{hub_id}/access-rules
POST /api/v1/teams/{team_id}/hubs/{hub_id}/access-rules
GET  /api/v1/hub/{hub_id}/access-check
Use access checks when a frontend needs a direct “can this member see this target?” answer.