Skip to main content
A profile is one connected social account inside a workspace, for example “Acme’s Instagram business account” or “Acme on X”. Each profile is tied to exactly one social network, holds the OAuth credentials needed to publish on that account’s behalf, and is the target of every post you create. The dashboard calls profiles social accounts. The API calls them profiles.

Anatomy of a profile

Listing profiles

The list holds the profiles you can access: every profile for the workspace owner, and for other members the profiles they have been given access to plus every public profile. It is paginated (default 50 per page, maximum 100) and accepts a sort parameter: name, -name, created_at, or -created_at. A leading - sorts descending, and any other value is 422. The default is created_at: the order the profiles were connected in, oldest first. See Pagination. Full schema: GET /workspaces/{workspace}/profiles in the API reference.

Connecting a profile

Profile connection happens entirely in the dashboard. There is no API endpoint to connect a new profile, because every supported network requires its own browser-based consent flow. To add a profile:
  1. Sign in to app.publishbuddy.com.
  2. Open the workspace and go to Social Accounts.
  3. Click Add Social Accounts, choose the network, and complete the network’s sign-in and permission steps.
For Facebook you connect a Page, not a personal profile. For Instagram you connect a professional account (Business or Creator). Once connected, the profile is immediately usable from the API.

When a profile needs reconnection

Social networks expire OAuth tokens periodically, sometimes on a schedule, sometimes when the user changes their password or revokes access. When that happens, the profile’s connected field flips to false and any post targeting it fails with an error_message explaining the cause. The API does not let you complete the OAuth refresh. The user has to reconnect from the dashboard, the same way they originally connected. Monitor connected if you build dashboards on top of the API, and surface a “Reconnect in PublishBuddy” prompt to your users when needed.

Profile vs entity

A profile’s entities array lists sub-resources inside the connected account. On Pinterest, the entity is the board the pin goes to. Each entity carries an id, name, about, image.link, social_id, and a social_profile_entity_type. Most networks do not use entities. For Instagram, X, Facebook, TikTok, and the rest, the profile is the only thing you target. Pinterest is the main case where you need to pick an entity (the board) when creating a post.

Per-network settings

Network-specific settings live in the post’s platform_content object, keyed by platform slug. See Per-network parameters for the full request shape. The dashboard’s post composer applies the right field set per network. When scripting against the API, refer to POST /workspaces/{workspace}/posts in the API reference for the canonical schema.

Next

Posts

How to plan, schedule, and publish content to one or many profiles.