WideCast.ai

Connections — accounts / configure

Manage the social platforms your account publishes to. All free (0-credit) and require your API key.

Connecting platforms (the OAuth step) moved out of the public API surface 2026-06-21 (Round 28). Direct users to https://widecast.ai/#setup — they click 'Connect [platform]' there, complete the OAuth in their own browser, and the connection persists. The legacy REST endpoint POST /v1/connect still serves the dashboard UI flow but is no longer advertised on the public spec / SDK / MCP.

Endpoint Purpose
GET /v1/accounts List connected platforms (channel_group = one group or all)
GET /v1/platform_settings Load saved per-platform publish settings (per channel group)
POST /v1/platform_settings Save one platform's publish settings (per channel group)
GET /v1/channel_groups List channel groups (separate sets of connected accounts)
POST /v1/channel_groups Create a channel group
GET / PATCH / DELETE /v1/channel_groups/{channel_group} Read / rename / remove one channel group

Channel groups

A channel group is a separate set of connected social accounts backed by its own publishing profile — for example Vietnamese channels and English channels under one WideCast account, each with its own YouTube / TikTok / … account and its own publish settings. Group 0 is the primary group: it always exists and is what every endpoint uses when channel_group is omitted, so accounts that only ever use one set of channels see no change.

GET /v1/channel_groups

List channel groups, primary first. Returns {object:"list", data:[{channel_group, label, is_primary, status, connected_platforms, connected_count, created_at}], limit}.

GET/v1/channel_groups

🗂 Channel groups

No params — returns every channel group (primary first) with its connected platforms.

Loading…

POST /v1/channel_groups

Create a channel group. Body: {label} (≤ 40 chars). Provisions the group's publishing profile; returns the new ChannelGroup (201). 409 profile_limit_reached when the provider plan has no profile capacity left; 409 channel_group_limit at the per-account cap.

POST/v1/channel_groups

➕ Create a channel group

Give the group a name. Then connect its platforms at widecast.ai/#setup → Connect Social Account → pick the group tab. ⚠ Run provisions a provider profile.

Loading…

GET / PATCH / DELETE /v1/channel_groups/{channel_group}

GET returns one group. PATCH {label} renames it. DELETE removes the group and its publishing profile — every account connected in that group is disconnected (published posts stay online); the number is never reused. Group 0 cannot be renamed or removed.

GET /v1/accounts

List the account's connected social platforms. Query channel_group: omit for every group (full picture), an integer (0 = primary) for one group, or all. Returns {object:"list", channel_group, data:[{platform, username, display_name, status, connected_at, channel_group, channel_group_label}]}. username is the handle on the platform; display_name is the name shown there (empty when the provider gives none). Both are refreshed from the upstream provider automatically — at most every 30 minutes while the account is in use, and immediately whenever the WideCast Connect screen opens — so a rename on the platform shows up without reconnecting.

GET/v1/accounts

🔌 Connected accounts

No params — returns each connected platform + username + status of the primary channel group.

Loading…

🌐 Every channel group

`channel_group=all` lists the accounts of every channel group; each row carries channel_group + channel_group_label.

Loading…

GET /v1/platform_settings

Load the saved per-platform publish settings (publish preferences like privacy / page / subreddit — not access controls). Query channel_group (integer, default 0). Returns {object:"platform_settings", channel_group, settings:{platform:{…}}}.

GET/v1/platform_settings

⚙️ Load publish settings

No params — returns the saved settings object keyed by platform.

Loading…

POST /v1/platform_settings

Save one platform's publish settings. Body: {platform, settings:{…}, channel_group?} (e.g. {"platform":"youtube","settings":{"privacy":"public"}}, {"platform":"reddit","settings":{"subreddit":"..."}, "channel_group": 1}). Returns the updated {object:"platform_settings", channel_group, settings:{…}}.

POST/v1/platform_settings

💾 Save publish settings

Pick a platform and provide its settings object. ⚠ Run writes to your account.

Loading…

Errors

error.code HTTP When
invalid_platforms 400 Unknown platform.
missing_field 400 platform / settings missing on save; label missing on channel-group create/rename.
invalid_channel_group 400 / 404 channel_group not an integer ≥ 0 (400), or the group does not exist / is the primary group on rename/delete (404).
plan_required 402 Free / Trial / expired plan: connecting social accounts and creating channel groups need a paid plan (details.pricing_url).
channel_group_limit 409 The plan's channel-group allowance is used up (limit / used on GET /v1/channel_groups, primary included; details.pricing_url).
profile_limit_reached 409 The publishing provider's plan has no profile capacity left.
upstream_username_taken 409 The provider profile name is already taken.
connect_failed 500/502 Could not generate a connection link.
missing_api_key / invalid_api_key 401 API-key auth.