Brand
A brand is the top-level group of connected accounts: one business, client, or location. Every account belongs to exactly 1 brand. Every interaction belongs to the account that received it. A post goes to 1 or more accounts astargets[].
- A new SocialAPI account starts with 1 brand named “Default”. Rename or delete it like any other brand.
- Your plan sets how many brands you can create. Pricing pages call a brand a profile. See Plans and usage, and read your current count with
GET /v1/usage(Check your usage). - A brand-restricted API key sees only its brands. Use brands to keep agency clients apart. See Brand restrictions.
- Creating a brand is not idempotent. Brand names are not unique, so a retried
POST /v1/brandscreates a duplicate. See Create requests are not idempotent.
Account
An account is one connected social account: an Instagram account, a Facebook login with its Pages, a YouTube channel, or a Google Business Profile location. Its ID starts withacc_, and you pass it to every endpoint that acts on the account.
POST /v1/accounts/connect and send the person through the platform’s consent screen. SocialAPI’s own app connects most platforms, so you register nothing. X, Telegram, and Bluesky use your own app or credentials. See Connect accounts and Platform apps.
An account’s status is active, reconnect_recommended, or token_expired. Reconnecting keeps the account’s ID. See Account status.
An account’s permissions limit what it can do on its platform. null means every permission, and effective_permissions lists the ones the account can use now. See Account permissions.
Post
A post is one piece of outbound content. OnePOST /v1/posts call can send it to 1 or more accounts. Each account it goes to is a target in targets[], with its own status, platform_post_id, permalink, error, and metrics. That split lets one post report “published on Instagram, failed on Facebook”.
- A request publishes only with
publish_noworscheduled_at. With neither,POST /v1/postssaves a draft. - A post is
draft,scheduled,publishing,published,partial,failed, orcancelled. A target ispending,publishing,published,failed, orunpublished. See Post status. - An HTTP success means SocialAPI accepted the post. Delivery to each platform finishes afterwards: read the post again or wait for a
post.*webhook event. See Track post delivery. - Metric names are the same on every platform. Where a platform reports a count, it uses the keys
likes,comments,shares, andsaves. A key the platform does not report is0. A Google Business Profile target has nometricsobject, or one whose four keys are all0. LinkedIn and Pinterest targets return501 resource.not_supported. Instagram, TikTok, YouTube, and Zalo add keys such asviews: see Analytics.
Interaction
An interaction is anything inbound on an account: a comment on one of your posts, a DM, a mention, or a review. You read interactions with the inbox endpoints, and SocialAPI also sends them to your server as webhook events. Comments, reviews, DMs, and mentions have different IDs and different item shapes:
Treat every ID as an opaque string. See IDs.
A comment returned by the REST API is a flat object:
comment.received webhook event is nested: author holds the person and content holds the text. Webhook events and the mentions list share that nested shape. See Interaction payload.
Capability
A capability is what one platform lets you do with one kind of feature: reply to a comment, hide it, like it, send a private reply, send a DM, reply to a review. Platforms differ, so SocialAPI reports capabilities instead of making you branch on platform names. Each comment carries acapabilities object with can_reply, can_delete, can_hide, can_like, and can_private_reply. Read it before you show a button or call an action.
An action the platform does not support returns 501 with error.code: "resource.not_supported". Retrying does not change that answer.
For the whole picture, Supported platforms compares every platform, and each platform page lists its own Capabilities table.
Related
- Quickstart to use all five objects in one walkthrough
- Connect accounts to create accounts and read their status
- Unified inbox to read and answer interactions
- Publishing to send posts to accounts
- IDs for the ID format of every object
- Supported platforms for what each platform allows