List channels
List the connected channels that the current Beacon workspace can use.
This operation requires Read channels access.
List the channels
const channels = await beacon.channels.list();
for (const channel of channels) {
console.log({
channelId: channel.channelId,
name: channel.displayName,
provider: channel.provider,
publishing: channel.publishing,
status: channel.status,
});
}Read the result
status describes the account connection. It can show a healthy, expiring, reconnect-required, disabled, or other supported state.
publishing describes Beacon publication support. not_configured means the channel cannot publish directly through this connection.
Do not treat OAuth success as publication readiness. Check both values before you offer a publish action.
Read the text limit
maxCharacters gives the account limit at its last connection. xSubscriptionType is None, Basic, Premium, PremiumPlus, or null when X did not confirm it. These fields are optional for compatibility with older Beacon servers.
Paid X subscriptions use 25,000 characters. Other X accounts use 280. Reconnect X after a subscription change. Beacon checks the subscription again before it sends long copy.
Call beacon.posts.check to validate the actual copy. Its destinations include the applicable limit and weighted text count. A check does not publish anything.
When you generate long X copy, pass the channel's channelId as the AI destination id. This lets Beacon verify the account in your workspace.