Posting API

Social media posting API for developer products and AI agents

Connect customer accounts once, then create drafts, schedules, and live posts across platform-specific social channels with one unified API.
No credit card required
import { KavenioClient } from "@kavenio/sdk";

const kavenio = new KavenioClient({
  authToken: process.env.KAVENIO_API_KEY,
});

// Send your user to this URL to connect their Instagram account.
const { authorizationUrl } = await kavenio.connect.begin({
  platform: "instagram",
});

// Publish once across every connected channel.
await kavenio.posts.create({
  profileId: "customer_user_123",
  content: "New launch is live. Built once, published everywhere.",
  platforms: [
    { platform: "linkedin", accountId: "acct_linkedin_123" },
    { platform: "instagram", accountId: "acct_instagram_123" },
    { platform: "twitter", accountId: "acct_x_123" },
  ],
  publishNow: true,
});
Posting API

What the posting API handles

The API is organized around connected accounts, post targets, media, scheduling, and status updates, so your product does not own provider workflow code.

Account-led posting

Connect a customer account once, keep provider tokens out of your product, and publish through Kavenio account records.

Targeted cross-posting

Create one post record, then choose the platform targets that should receive it for that customer, brand, or workspace.

Native channel controls

Start with shared copy and media, then add per-target overrides only when a channel needs its own settings.

Drafts, schedules, and queues

Keep work in draft, schedule it for later, reserve a queue slot, or publish immediately from the same endpoint.

Media-ready payloads

Attach uploaded assets or public media URLs and catch format, length, and platform-limit issues before provider calls.

Status you can build around

Read target-level outcomes, retry failed publishes, and subscribe to lifecycle events when post status changes.

Built for platform-specific posting

Use one API to connect social accounts and publish content across every channel.
API surface

A small contract for a full post lifecycle

Create posts over REST, SDK, or CLI, validate before publish, then manage retries and lifecycle events without pushing provider logic into your app.
  1. kavenio.connect.begin(...)

    Create the account connection URL your customer uses before you post on their behalf.

  2. kavenio.media.upload(...)

    Upload images, videos, GIFs, and documents, then attach public media URLs to post payloads.

  3. kavenio.validation.post(...)

    Validate content, media, and platform limits before a publish call reaches provider APIs.

  4. kavenio.posts.create(...)

    Create drafts, schedule posts, or publish immediately across connected social accounts.

  5. kavenio.posts.retry(...)

    Retry failed or partial posts without losing successful platform target results.

  6. kavenio.webhooks.create(...)

    Receive publishing, account, and lifecycle events in your own product.

import { KavenioClient } from "@kavenio/sdk";

const kavenio = new KavenioClient({
  authToken: process.env.KAVENIO_API_KEY,
});

const { authorizationUrl } = await kavenio.connect.begin({
  profileId: "customer_user_123",
  platform: "instagram",
});
Platform keys

Bring your own platform apps when you need control

Use Kavenio-managed applications to get started, or connect through your own provider apps when your team owns the approvals and branding.

Use Kavenio-managed applications

Kavenio-managed applications are available for supported platforms, so you can start without creating every provider application first.

BYOK for platform apps

Add your provider app keys to Kavenio, then let us handle OAuth, credential storage, refresh, and publishing through your app.

Build social posting into your product

Connect accounts, validate content, publish posts, and receive status events through one posting-focused API

Frequently asked questions

Practical answers about the posting API, connected accounts, platform-specific payloads, and automation workflows.

Is this a social media API or a posting API?

The current product focus is posting: account connection, media, validation, draft and scheduled posts, immediate publishing, retries, lifecycle actions, and webhooks.

Do I still need platform developer apps?

Kavenio uses an account-linked provider credential first, then your workspace platform key, then an available Kavenio-managed application. If your team needs branded OAuth, owned approvals, or direct provider-app control, you can supply your own platform keys.

How do I post to a specific customer account?

Connect the account first, store the returned Kavenio account ID, then include that account ID inside the target for each platform you want to publish to.

Can each platform receive different copy or media?

Yes. Put common content on the root post, then override content, media, schedule, or platform-specific data on individual platform targets.

Can AI agents use Kavenio?

Yes. Agents can use the same API, SDK, and CLI workflows to connect accounts, validate posts, publish content, and react to webhook-driven status changes.