Content
The content resource is the workhorse of the API. See Content model for a full field reference; this page covers the endpoints.
List content
Section titled “List content”GET /api/v1/contentQuery parameters:
| Name | Type | Notes |
|---|---|---|
status | string | Filter by status. Repeat for OR. |
content_type | string | Filter by content type. |
platform | string | Returns items targeting this platform. |
campaign_id | string | Restricts to items in a campaign. |
limit | integer | 1 to 100, default 50. |
cursor | string | See Pagination. |
curl "https://app.nativpost.com/api/v1/content?status=scheduled&limit=20" \ -H "Authorization: Bearer $NATIVPOST_API_KEY"Retrieve content
Section titled “Retrieve content”GET /api/v1/content/{id}curl https://app.nativpost.com/api/v1/content/cnt_9f2c8e7b1a3d4f60 \ -H "Authorization: Bearer $NATIVPOST_API_KEY"Create content
Section titled “Create content”POST /api/v1/contentBody:
{ "content_type": "photo", "platforms": ["instagram", "facebook"], "body_text": "Our new home office setup.", "media_asset_ids": ["med_1e7b8a2c9d3f"]}Optional fields: hook_text, slide_copy, platform_overrides, campaign_id, metadata, scheduled_at (creates directly in scheduled state), auto_generate (boolean, has the AI fill missing copy).
Update content
Section titled “Update content”PATCH /api/v1/content/{id}Send only the fields you want to change. Common patterns:
# Approve and schedulecurl -X PATCH https://app.nativpost.com/api/v1/content/cnt_9f2c8e7b1a3d4f60 \ -H "Authorization: Bearer $NATIVPOST_API_KEY" \ -H "Content-Type: application/json" \ -d '{"status":"scheduled","scheduled_at":"2026-07-19T13:00:00Z"}'Illegal status transitions return 409 conflict.
Publish now
Section titled “Publish now”POST /api/v1/content/{id}/publishImmediately runs the publish pipeline for an approved or scheduled item. Returns the updated content with per-platform results:
{ "object": "content", "id": "cnt_9f2c8e7b1a3d4f60", "status": "published", "platform_results": [ { "platform": "x", "success": true, "platform_post_id": "1948273..." }, { "platform": "linkedin", "success": true, "platform_post_id": "urn:li:share:..." } ]}Delete content
Section titled “Delete content”DELETE /api/v1/content/{id}Soft-deletes. Fires the content.deleted webhook. The record can still be retrieved with ?include_deleted=true on the list endpoint for 30 days, after which it is purged.