Skip to content

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.

  • 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.

All requests target a single base URL:

https://app.nativpost.com/api/v1

Every request must include an API key. See Authentication for how to create and rotate keys.

  • Snake case everywhere. Request bodies and responses use snake_case. The database uses camelCase internally; 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 object field (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. The object field, 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.

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.

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.

  1. Authenticate and generate your first key.
  2. Run the quickstart to create a piece of content in under five minutes.
  3. 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.