Introduction
The NativPost API is a REST interface over the same content pipeline that powers the NativPost dashboard: create content, review it, schedule it, and let the publishing cron fan it out to your connected accounts.
What you can build
Section titled “What you can build”- Ingest scripts that push scraped ideas, transcripts, or briefs into your workspace as draft content.
- Approval workflows that route posts through your existing review tools before they reach the scheduler.
- Publishing bots that queue posts from a CRM, calendar, or product-launch event.
- Reporting jobs that pull published-post totals into your warehouse.
Some things stay in the dashboard: connecting social accounts over OAuth, uploading media, and creating or editing webhook endpoints. The API reads those but cannot create them.
Base URL
Section titled “Base URL”All requests target a single base URL:
https://app.nativpost.com/api/v1Every request must include an API key. See Authentication for how to create and rotate keys.
Design principles
Section titled “Design principles”- Snake case everywhere. Request bodies and responses use
snake_case. The database usescamelCaseinternally; every response goes through an explicit serializer that maps the two, so the public shape stays stable even when the schema changes. - Object envelopes. Every resource response includes an
objectfield (for example"object": "content"). List responses wrap results in{ "object": "list", "data": [ ... ], "has_more": bool, "next_cursor": string | null }. - UUID ids. Ids are plain UUIDs —
9f2c8e7b-1a3d-4f60-b2c1-7e5a9d3c4b81— with no type prefix. Theobjectfield, not the id, tells you what a value refers to. - Explicit over implicit. Nothing is inferred. Media is attached by URL, targeting is an explicit array, and no field is auto-populated from another.
Writes are not idempotent. There is no idempotency-key header; posting the same body twice creates two content objects. Deduplicate on your side if a retry is possible.
Asynchronous by default
Section titled “Asynchronous by default”Publishing and campaign generation both return 202 Accepted and complete in the background. POST /content/{id}/publish queues the item rather than posting inline, so its response cannot tell you whether a platform accepted the post. Poll the resource, or subscribe to webhooks, to learn outcomes.
Availability
Section titled “Availability”The API is included with the Pro plan and above. Workspaces on lower plans can browse these docs but cannot generate keys. Requests from an inactive subscription return 402; requests from an active subscription on a plan without API access return 403. See Errors.
Next steps
Section titled “Next steps”- Authenticate and generate your first key.
- Run the quickstart to create a piece of content in under five minutes.
- Review the error contract before you go to production.
If your goal is to drive NativPost from an AI assistant rather than your own code, the MCP server wraps these same endpoints as tools.