The Partner API is for platform partners — software that signs its own
customers up here — and is enabled per partner. It is not the same thing as the
workspace APIs: it uses a different key, a different base path, and can act on
every workspace it has provisioned. If you were given an
osk_ key, you want
the Messaging, Publishing or
Link in Bio API instead./api/partner. Send your partner key as the X-API-KEY header,
from your backend only. 60 requests a minute.
Provision a customer
Response
GET /api/partner/users/{external_id} returns the same identity and the same
workspace fields, and 404 for an external_id you have not provisioned.
Workspaces
workspace_id is the customer’s first workspace — the one provisioning
created — and is what every workspace-scoped endpoint below takes.
workspace_ids lists all of them, oldest first, so workspace_ids[0] is
always workspace_id. A second one appears if the customer was later made an
admin of another workspace; pass the uuid you mean. A workspace the customer is
only a member of is not listed.
What outcome tells you
Conflicts
An e-mail that already belongs to someone else is never taken over. You get a409 with a stable error_code, and nothing is written:
A
422 means a field failed validation; a 400 means the request was refused,
for example an e-mail outside your allowed domains.
Issue a workspace API key
Theosk_ key your customer’s integrations authenticate with, without anybody
opening the Integrations page.
201, with plain_text_token in data.
scopes is the same list the dashboard offers. A scope the workspace cannot
have is a 422, never silently dropped. There is a limit of 25 live keys per
workspace, shared with keys made in the dashboard.
GET …/api-keyslists the keys — name, prefix, scopes, timestamps, last use per product. Never the secret.DELETE …/api-keys/{id}revokes one immediately, for every product. Repeating it is a200.
Scoping
You may act only on a workspace that a user you provisioned administers. Anything else — another partner’s workspace, a workspace nobody provisioned, a uuid that does not exist — is a 404, never a 403.Next
Channel Connect
Give a customer a link that connects their own WhatsApp number, Facebook Page,
Instagram account or TikTok Business account — or connect a Telegram bot from
its token.