- read the code from the email
- pay, when the agent sends you the payment link
- click the link to connect an ad platform
1. Sign up
The agent sends your email:2. Verify
You give the agent the code. The agent sends it back with your website:domainis the business website. Free email domains such as gmail.com are refused.nameis optional and labels the key in your settings.
- A new email gets a new account with a workspace for the domain.
- An email that already has a Ryze account gets a key for every workspace it can open.
workspace_idis the one whose website matchesdomain, ornullwhen none or several match;native__get_workspaceslists them all. - Lost the response? Run signup and verify again. An existing account just gets another key, and old keys keep working until revoked.
3. Call tools
The key works the same way over MCP and REST. Both expose the same tools.MCP
Connect your MCP client tohttps://connector.get-ryze.ai/mcp with the header Authorization: Bearer rk_live_.... Keys work on /mcp only, not on /sse. After a platform is connected, its tools come with the next tool list; a client that caches the list may need to reload the connector.
REST
List the tools with their descriptions and input schemas:args:
"workspace" inside args: a name from native__get_workspaces.
4. Subscription
A new account has no subscription yet. Tools whose entry inGET /api/v1/tools has requires_plan: false work without one: today native__get_workspaces, native__list_connections, native__create_connection_link and native__get_connection_link, so the agent can connect platforms right away. Every other tool answers subscription_required; its message holds the link to start or fix the plan: send it to the user and retry after they do.
5. Connect ad accounts
Connect a platform in 3 steps:- call
native__create_connection_linkwith the provider, for examplemeta_ads - send the returned
urlto the user: it opens the platform’s sign-in or a page for its API key, then they pick the accounts Ryze should use - poll
native__get_connection_linkwith the returnedlink_idand the sameworkspaceevery ~30 seconds untilstatusisconnected; the platform’s tools then appear inGET /api/v1/tools
status is waiting until the user signs in, connected once the platform is connected (the user may still be picking accounts for a minute), and expired when the link is gone (check native__list_connections then). In Claude and ChatGPT the link shows as a card with a Connect button that turns green by itself once the platform is connected (after 20 minutes it stops checking and offers a Check again button).
The link works once and expires after 24 hours; a sign-in started in its last 15 minutes still gets 15 minutes to finish. It never signs anyone in to Ryze: whoever opens it can only connect a platform to that workspace.
Links work for every platform Ryze connects except GitHub, custom MCP servers and Ryze Sites, which are set up in the Ryze app. OAuth platforms open their sign-in (Microsoft Ads with a Microsoft account; Shopify asks for the store domain first). Platforms connected with an API key, such as Klaviyo, Semrush or WordPress, open a page where the user pastes it. If a platform that allows one connection per workspace is already connected, the link is refused so it never replaces it.
Errors
A tool that ran but refused answers HTTP 200 with astatus:
{ "error": "..." }:
Manage keys
Your keys are listed in the app under Settings → Profile → API keys.- Create key makes a key without the signup flow: name it, copy it, give it to your agent. It is shown once.
- Revoke deletes a key and stops it at once.

