Quickstart Mode

Create an API key, create a profile, connect your first social account, and publish your first post.

Interactive quickstart
Loading your dashboard state…
API-firstSelf-owned accountsNode · Python · Go · JavaFree tier

Prerequisite

Create an API key in the dashboard and store it in UNIPOST_API_KEY. The SDKs read it automatically.

  • Open Dashboard → API Keys
  • Click Create API Key
  • Save it as UNIPOST_API_KEY in your environment

The four steps

At a glance

QuestionAnswer
Account ownerYou or your team — not your customers
OAuth styleSelf-owned account connection via auth_url
What you get backA profile_id, then an auth_url, then one or more account IDs
Best forPrototypes, internal tools, your own brand accounts
Need customer onboarding?Use White-label / Connect Sessions instead

Install and initialize

Initialize the client

1. Create a profile

Profiles are the container for connected accounts. Every new API-first integration should create one deliberately instead of relying on the dashboard default.

Full schema: POST/v1/profiles.

2. Connect an account

For OAuth platforms like LinkedIn, X, YouTube, Instagram, Threads, TikTok, Pinterest, and Facebook Page, call the connect URL API. It returns an auth_url. Open that URL in a browser and complete OAuth there.

  • Call POST /v1/oauth/connect
  • Read data.auth_url from the response
  • Open it in a browser
  • Complete OAuth in the browser

You can optionally add redirect_url in the request body if you want OAuth to land on your own app afterward, but Quickstart leaves it out to keep the first connection as simple as possible. Endpoint reference: POST/v1/oauth/connect.

Bluesky is the exception. It uses an app password, not OAuth, so connect it through POST/v1/accounts/connect instead.

3. Get your connected account

List accounts for the profile you created and keep the returned UniPost account_id.

Reference: GET/v1/accounts.

4. Schedule your first post

You can publish immediately or schedule for later. You can also target one platform or multiple platforms in the same request.

PatternHow it works
Immediate, single-platformOne entry in platform_posts and no publishAt
Immediate, multi-platformMultiple entries in platform_posts with different accountId / caption values
Scheduled, single-platformSet publishAt and include one account
Scheduled, multi-platformSet publishAt and include multiple accounts in platform_posts

Reference: POST/v1/posts.

Publishing to Instagram from a local image or video file has one extra media step: reserve an upload, PUT the bytes, poll until the media row is uploaded, then create the post with media_ids. See the Instagram local file flow.

What this quickstart is not

FlowUse this page?Where to go instead
Connect your own accounts with OAuth auth_urlThis page
Connect customer-owned accountsXWhite-label / Connect Sessions
Connect Bluesky with app passwordPartiallyPOST /v1/accounts/connect

Next steps