PersonativPersonativ
Personativ API v1 · REST · OpenAPI

One input. One dedicated post per channel.
Programmable, in your brand voice.

The Personativ API brings the flagship "capture once, channel-native everywhere" straight into your systems. You send a text, a URL or bullet points, and get back one independently written channel-native post per channel, in your brand voice. GDPR compliant and via a simple REST call.

14 days free · One key per workspace · Rate limit 60/min

Why the Personativ API

Not another cross-posting tool, but channel-native creation as a building block for your systems.

One input, many channels in brand voice

A single /compose call generates a dedicated post for each chosen channel, not the same text tailored several times. Positioning, audience and no-gos from your brand profile flow in automatically.

GDPR compliant and EU sovereign

Processing is designed for European data sovereignty. For AI texts the same EU notice applies as in the app, or you activate sovereign mode, in which case sovereign workspaces pass through automatically.

Trend data programmatically

GET /trends returns the current trend radar hits including a relevance score directly as JSON. That way you feed editorial planning, dashboards or automations with the same signals Personativ uses internally.

Ready in minutes

One key in the header, one POST, done. Header-based auth with no OAuth flow, a machine-readable OpenAPI 3.0.3 description and errors always as clear JSON with error and code.

What the API can do

Base URL https://personativ.de/api/v1, auth via the header X-API-Key.

GET
/me

Workspace info, current credit balance and available platforms.

GET
/channels

The workspace's connected social channels.

GET
/trends

Current trend radar hits incl. relevance score (parameter limit, max. 100).

GET
/articles

List published articles (paginated via page and limit).

GET
/articles/{slug}

Retrieve a single published article, incl. rendered HTML.

POST
/articles

Create an article draft (title and content).

POST
/compose

Flagship: one input, one channel-native post per channel in brand voice. Consumes credits.

GET
/openapi.json

Machine-readable OpenAPI 3.0.3 description of the entire API.

Get started in three steps

Create a key, set the header, generate your first post.

Step 1

Create a key

In Settings under "Delivery / API", create the workspace API key. One key per workspace, treat it like a password.

Step 2

Send it as a header

Every request authenticates via X-API-Key. No OAuth, no token exchange.

Step 3

Your first /compose call

One input, a list of channels, one post per channel in return.

Request

curl -X POST https://personativ.de/api/v1/compose \
  -H "X-API-Key: dein_workspace_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "text",
    "title": "5 Fehler bei der E-Rechnung",
    "input": "Kurzer Fachtext oder Stichpunkte zur E-Rechnungspflicht ...",
    "platforms": ["linkedin", "twitter", "mastodon"]
  }'

Response (truncated, illustrative)

{
  "articleId": "a1b2c3d4-...",
  "title": "5 Fehler bei der E-Rechnung",
  "results": [
    { "platform": "linkedin", "content": "Die E-Rechnungspflicht kommt ...", "hashtags": ["ERechnung"] },
    { "platform": "twitter",  "content": "5 typische Fehler bei der E-Rechnung ...", "hashtags": ["ERechnung"] }
  ],
  "creditsCharged": 4,
  "credits": { "available": 196 }
}

Node / JavaScript (fetch)

const res = await fetch("https://personativ.de/api/v1/compose", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.PERSONATIV_API_KEY,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    type: "text",
    input: "Euer Fachtext oder eure Stichpunkte ...",
    platforms: ["linkedin", "twitter"]
  })
});
const data = await res.json();
for (const post of data.results) console.log(post.platform, post.content);

Typical use cases

From the CMS connection to your own agency script.

Blog and CMS connection

New article published in your CMS? Pass the text or URL to /compose and automatically receive the matching posts for every channel, without any manual rewriting.

Your own dashboard

Pull balance, connected channels and trend signals into your own cockpit and control content creation from your familiar interface.

Agency automation

Serve many clients, each with their own workspace and their own key. One script turns a briefing into brand-compliant drafts per client and channel in seconds.

AI workflow and no-code

Because everything runs via a header key and a single POST, /compose plugs into no-code tools and AI pipelines: trigger in, channel-native posts out.

Good to know

  • Rate limit: 60 requests per minute per API key. Exceeding it responds with 429 and code RATE_LIMITED.
  • Credits: /compose consumes the same balance as the app, charged only on success; the balance is in every response.
  • EU processing: AI texts require the EU AI notice or sovereign mode, otherwise 428 with code AI_EU_CONSENT_REQUIRED.
  • No auto-publish via the API: it creates content and drafts, delivery runs in the app, via WordPress/Wix or the publish webhook.

Frequently asked questions

How do I authenticate?+

Via the workspace API key in the header X-API-Key. You create the key in Settings under "Delivery / API". One key per workspace, no OAuth flow. Treat it like a password.

What does it cost, how do credits work?+

The API uses the same credit model as the app. /compose charges credits for the capture and one AI text per channel, and only on success. You retrieve your balance via GET /me, and it is also in every /compose response. Read endpoints like /trends or /channels cost no credits.

What about GDPR and data protection?+

Personativ is designed for GDPR compliance and EU data sovereignty. AI texts via /compose require the confirmed EU AI notice or the activated sovereign mode; if it is missing, the API responds with 428 instead of processing.

How do I publish the generated posts?+

The API creates content and drafts, it does not post itself. Publishing happens in the Personativ app or via the connected integrations (WordPress, Wix) as well as the outgoing publish webhook. That way approval stays with you, separate from generation.

Ready to connect the API?

Create your key in Settings and send the first /compose call. 14 days free, no credit card.