Skip to main content

Content REST API

Manage content views programmatically via the REST API.

Endpoints

List Content Blocks

Get all content views for an app.

GET /v1/apps/:appId/content

Query Parameters:

ParameterTypeDescription
statusstringFilter by status: draft, published, archived
limitnumberNumber of results (default: 20, max: 100)
pagestringPage number

Example Request:

curl -H "Authorization: Bearer your-api-key" \
https://api.getresync.com/v1/apps/7/content?status=published

Example Response:

{
"data": [
{
"id": 456,
"name": "WelcomeCard",
"status": "published",
"publishedAt": "2025-11-23T10:00:00Z",
"items": [
{
"type": "text",
"content": "Welcome to our app!",
"styles": {}
}
]
}
],
"pagination": {
"hasMore": false,
"nextCursor": null
}
}

Get Content Block

Get a specific content view by ID.

GET /v1/content/:contentViewId

Example Request:

curl -H "Authorization: Bearer your-api-key" \
https://api.getresync.com/v1/content/456

Create Content Block

Create a new content view.

POST /v1/apps/:appId/content

Request Body:

{
"name": "NewWelcomeCard",
"status": "draft",
"items": [
{
"type": "text",
"content": "Welcome!",
"styles": {
"fontSize": 24,
"color": "#333"
}
}
]
}

Update Content Block

Update an existing content view.

PATCH /v1/content/:contentViewId

Request Body:

{
"status": "published"
}

Delete Content Block

Delete a content view.

DELETE /v1/content/:contentViewId

Content Status

StatusDescription
draftContent is being created
publishedContent is live and visible in apps
archivedContent is hidden but preserved

Webhooks

Content views trigger webhooks:

  • content.published - Content published
  • content.unpublished - Content archived

Learn more about webhooks →

Next Steps