rizamodocs
Accounts

Get a link to connect an account

GET
/connect/{network}

A link to send a person to within 30 minutes: it goes straight to the network, and connects accounts once (a preview or a second browser that opens it uses nothing up). They log in on the network, with no Rizamo account, and come back to redirectUrl, or, without one, land on a Rizamo page that says what was connected (for a chat agent, a script or n8n). instagram is Instagram Login, for an Instagram professional account on its own; facebook is Facebook Login, its Pages and the Instagram accounts linked to them, which can also add music to reels and get each story's final numbers when it ends (deleting Instagram posts will need it too, once Meta reviews Rizamo's access).

A login that reaches one new account the key may add connects it at once; one that reaches several (Pages, YouTube channels), or an account already in the team, shows the person a page to pick them, with only new accounts ticked. An account already in the team in a profile the key does not reach is never added. With connectionId, only that login's accounts are renewed.

Back at redirectUrl, Rizamo adds status (connected or error), network, profileId, and either accountIds with each one's billing in the same order, comma-separated, or error (cancelled, refused, no_accounts, expired, used, unavailable, forbidden, gone, failed) and message. Nothing in it works without your key: read the accounts with GET /accounts/{id}. A return can arrive more than once (a reload): take GET /accounts (list_accounts) as the truth. A link opened once it is used or expired, or after your key lost access, stays on a Rizamo page that says why: only a person back from the network comes to redirectUrl.

Accounts are billed as in the web app: the first 2 free. On the free plan the rest arrive awaiting_payment until an owner starts a plan. On a paid plan they are charged at once to the card on file: your call is the consent. A charge that needs the card holder, or more accounts than the owner lets the API add this period, leaves them awaiting_payment until an owner pays in the web app. The person connecting never sees prices.

With connectionId, the person logs in again for that login's accounts (an expired login): only accounts already in the team are updated, and network must be the login's.

Authorization

apiKey
headerAuthorizationBearer <token>

An API key from the web app, under Developers. It starts with rz_live_.

Path Parameters

network*string

Where the person logs in: instagram (Instagram Login, a professional account on its own), facebook (Facebook Login: Pages and the Instagram accounts linked to them), tiktok, threads or youtube.

Value in"facebook""instagram""tiktok""threads""youtube"

Query Parameters

profileId?string

The profile (prof_) new accounts go to. Required unless connectionId is given.

Lengthlength <= 100
redirectUrl?string

Where the person comes back to: an absolute https address, or http://localhost or http://127.0.0.1 (any port) while you develop. Fixed in the link: nothing the person does can change it. Leave it out when you have no address (a chat agent, a script): the person lands on a Rizamo page that names what was connected, or says why not.

Lengthlength <= 2000
connectionId?string

Log in again for this login (Account.connectionId), to renew it.

Lengthlength <= 100

Response Body

OK

application/json
  1. response
url*string

Send the person here within 30 minutes. It is Rizamo's address, which sends them straight on to the network; it connects accounts once.

expiresAt*string

Until when the link opens. After it, ask for another.

Formatdate-time
Example Request
curl -X GET 'https://api.rizamo.com/v1/connect/instagram?profileId=prof_01m40k9k80fxd8cvng8derm7g9&redirectUrl=https%3A%2F%2Fexample.com%2Frizamo%2Fconnected'
Example Response
{  "url": "https://app.rizamo.com/api/connect/link/team_01m3z8q2e0f5w1bq6h0yvj0x2a/Zp4Kq8WmT2xLr7Nb",  "expiresAt": "2026-11-04T11:12:31.000Z"}