Connect a channel on a token platform, or your own automation
Connect a channel on a token platform, or your own automation (channels:manage)
Every request sends Authorization: Bearer ...: the access token in local mode, an API key stk_... in cloud mode. Use Send to try it against your cloud instance with your API key.
fields carries the provider's credential_fields (a bot token, an instance URL...); the
platform is asked for the account's profile before the channel is saved, and the credentials
are stored sealed. Provider custom (your own automation) takes no fields. OAuth platforms
connect through GET /v1/channels/oauth/{provider}/start instead (422 here).
AuthorizationBearer <token>API key (stk_...), or in the Community Edition the access token (stk_local_...)
Idempotency-Key?stringReplays the stored response when the same key is repeated with the same method, path,
query string and body within 24 hours (422 idempotency_mismatch with a different
request, 409 idempotency_in_progress while the first one runs). Not applied to
multipart uploads or to responses that carry a secret.
length <= 200application/json- body
provider*stringProvider id from GET /v1/providers (custom, telegram, bluesky, ...)
name?stringWhat to call the channel; defaults to the account's name
length <= 100fields?The provider's credential_fields by key (token platforms)
settings?group_id?stringChannel group to put it in (grp_...); default: the Default group
Connected
application/json- response
A connected account. Credentials are stored sealed and never returned.
id*stringprovider*stringProvider id (see GET /v1/providers)
name*stringhandle*stringThe account's handle on the platform (@name, a channel id)
avatar_url*stringprofile_url*stringstatus*ChannelStatusconnected (works), needs_reconnect (the platform refused the credentials), disabled (turned off; targets on it fail without trying)
"connected""needs_reconnect""disabled"settings*Provider-level defaults for new targets, and links (one of the provider's limits.link_modes) to choose what the channel does with links
links*LinksModeWhat this channel does with the links in a post's text: settings.links, else the provider's limits.links
"keep""remove""defang"group_id*stringThe channel group it belongs to (every channel is in exactly one; the Default group unless moved)
last_error*stringcreated_at*stringdate-timeupdated_at*stringdate-timeactivity?Read from the channel's targets. Only GET /v1/channels and GET /v1/channels/{id} include it (not webhook payloads).
curl -X POST 'https://staqly.example.com/v1/channels' \ -H 'Content-Type: application/json' \ -d '{}'{ "id": "string", "provider": "string", "name": "string", "handle": "string", "avatar_url": "string", "profile_url": "string", "status": "connected", "settings": {}, "links": "keep", "group_id": "string", "last_error": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "activity": { "last_published_at": "2019-08-24T14:15:22Z", "last_post_id": "string", "next_publish_at": "2019-08-24T14:15:22Z", "published_30d": 0 }}