Skip to main content

Connected accounts

A connection represents a social account a user has authorised Nylon to access. Accounts are managed from the Connections page and returned by the profiles endpoint. Every connection runs on Nylon’s own OAuth apps by default — there is nothing for you to register with a platform, and token refresh and re-auth prompts are handled for you.

Coverage by pillar

Publishing is live everywhere. The inbox is live on Telegram only. Analytics is not available on any network yet.
Slack installs into a workspace, and the channel is picked on Slack’s own consent screen — so one connection is one channel, and connecting again adds another. Telegram connects by adding Nylon’s bot to a channel, group or chat and pasting a one-line command there — a bot only learns a chat exists once somebody speaks to it, so there is nothing to redirect to. Every connection posts as the same bot.
Eight of these are not feeds and do not behave like one. Kick and Twitch have no post feed at all — a post there is a chat message in your own channel, so it carries no media and a long caption is sent as a chain of replies. Dribbble takes a single image of exactly 400x300 or 800x600 and rejects any other size. Whop posts into one forum of one community, so each forum connects as its own profile. DEV.to publishes a Markdown article with a title, and its images ride in the body rather than being uploaded. WordPress is the customer’s own site rather than a platform, connected with an application password over its REST API. Tumblr posts to one blog of an account that usually owns several, so each blog connects as its own profile. Custom has no vendor at all — Nylon POSTs the post as JSON to an endpoint you run, with headers you choose.
Capabilities vary by network and account type — a Facebook Page accepts Reels, an X handle accepts threads. A Yes above means the pillar is available for that network, not that every feature within it is.

Connection statuses

A profile carries a status and a separate suspended flag. They mean different things.
The account is connected and its authorisation is currently usable.
The stored authorisation expired, was revoked, or stopped working. Publishing to this profile fails with reauthentication_required. Ask the user to reconnect the account in Nylon before relying on it.
The profile is beyond the free allowance and billing is not active. Nothing has been disconnected and the profile is still listed, but publishing to it is refused with 402. Restarting billing lifts it immediately.
Suspended profiles are returned by the API rather than hidden — a profile that silently vanished from the list would read as a deleted account.

Handles and profile images

Some networks or account types do not return a handle or profile image. Treat handle, avatar_url and profile_url as nullable and use name as the primary display value.

Connecting an account from your own app

Nylon runs the OAuth apps, so there is no server-to-server way to connect an account — the customer has to approve it. POST /v1/connections returns the URL to send them to, and redirect_url brings them back to your app afterwards. flow says what that URL opens: GET /v1/connections says which networks this account can connect right now. Availability is computed from real app credentials — Nylon’s, or your own under BYOK — rather than a static list, because offering a network whose credentials are missing produces a redirect that dead-ends.

Endpoints

List connected profiles

GET /v1/profiles

Disconnect a profile

DELETE /v1/profiles/{profileId}

List connectable networks

GET /v1/connections

Start a connection

POST /v1/connections