Skip to main content
Documentation
API Reference

Agent Sign-up

Start a Free workspace for an AI agent with POST /v1/agent/signup, email the claim link to a person, and get an MCP token for the agent.

An AI agent can start before its user has a WarpLink account. It calls one endpoint with the person's email address. WarpLink creates a Free workspace, emails the person a link to claim it, and gives the agent a token for the MCP server. The agent can build while it waits, and the workspace becomes the person's when they claim it.

This endpoint needs no credential.

Start a Workspace

POST/agent/signup

Start a workspace for an AI agent

Creates a Free workspace that waits for a person to claim it, and emails the claim link to the address you send. Send no credential. The response holds a bearer token for the MCP server. Until the claim the workspace may hold 1 app and 10 links, every link stays paused, and custom domains and API keys are refused. An SDK key tied to the app can be created. An unclaimed workspace and its token end after 7 days. Each client address may sign up 3 times an hour and 10 times a day, and each email address receives one claim email a day.

Request Body

FieldTypeDescription
email*stringWhere the claim email goes. The person who owns this address claims the workspace.
agent_name*stringThe name the claim email and the claim page show, for example `Claude Code`. The letters A-Z, numbers, spaces and `. , _ - ( ) ' &` only. A web address is refused.
org_namestringThe workspace name. Omit it to use the default name. Letters of any script, numbers, spaces and `. , _ - ( ) ' &` only. A web address is refused, and so is a name that mixes Latin letters with Cyrillic, Greek or Armenian letters.

Responses

201Workspace created and the claim email sent.
FieldTypeDescription
orgobject
access_tokenstringA bearer token for the MCP server at `mcp_url`. It is not an API key and works on no REST route.
token_type"Bearer"
expires_atstringWhen the unclaimed workspace and this token end, 7 days after sign-up, unless the workspace is claimed first.
mcp_urlstringe.g. https://api.warplink.app/mcp
claimobjectWhere the claim link went. The link is in the email only, never in this response.
limitsobjectWhat the workspace may hold until it is claimed.
links_paused_until_claimbooleanLinks created before the claim stay paused. Claiming the workspace turns them on.
400Validation error
FieldTypeDescription
error*object
415UNSUPPORTED_MEDIA_TYPE: the body was not sent with the `Content-Type: application/json` header.
FieldTypeDescription
error*object
429AGENT_SIGNUP_RATE_LIMITED: too many sign-ups from this address, or a claim email already went to this email address today. `details.retry_after` and the `Retry-After` header give the seconds to wait.
FieldTypeDescription
error*object
503AGENT_SIGNUP_UNAVAILABLE: sign-up cannot create a workspace right now. Try again later, or ask the person to sign up at https://dash.warplink.app.
FieldTypeDescription
error*object

email and agent_name are required. The claim link goes to that address and nowhere else. The response never contains the claim link, so the agent cannot claim the workspace itself. Ask the person for their email address. Do not guess one.

agent_name is the name the claim email and the claim page show, such as Claude Code. It takes letters, numbers, spaces, and . , _ - ( ) ' &, up to 60 characters, and cannot read as a web address. org_name follows the same rules. Leave it out to use the default workspace name.

The access_token is a bearer token for mcp_url. It is not an API key and it does not work on the REST API. Give it to the MCP client as an Authorization: Bearer header, set through a local-scope setting or an environment variable. Never write it into a file that goes into source control.

What an Unclaimed Workspace May Do

Until a person claims the workspace:

  • It holds at most 1 app and 10 links. The response states these in limits.
  • Every link stays paused. Creating a link works. The tools that turn one on, activate_link and update_link with is_active: true, are refused with CLAIM_REQUIRED. Claiming the workspace turns all its links on.
  • The token can create SDK keys tied to one app. It cannot create API keys, or add custom domains.
  • It follows the Free plan's other limits.

A request over a cap returns 403 UNCLAIMED_LIMIT. Each error carries a details.fix.

An unclaimed workspace and its token end 7 days after sign-up, and the workspace is removed. We send the person one reminder email about 2 days before that.

How the Person Claims It

  1. The person opens the claim email sent to the address you gave and follows the link.
  2. They sign in, or create an account.
  3. The claim page shows the workspace and the agent's name. They choose Claim workspace.

At the claim the workspace becomes theirs and their account becomes its owner, and its links turn on. The apps, links, and SDK keys the agent created stay as they are. The agent's connection moves into Settings > Connected AI, where it is its own entry labelled Agent sign-up, with the workspace it set up, and the person can revoke it without touching any other connection. After the claim it works like any other connection, including creating API keys within the scopes it holds, with no key-management scopes and a lifetime of at most 90 days. A key the agent creates shows Created by the agent's name on the Keys page.

Limits

Each client address may start 3 workspaces an hour and 10 a day, and each email address receives one claim email a day. Past a limit the call returns 429 AGENT_SIGNUP_RATE_LIMITED with details.retry_after and a Retry-After header in seconds. When sign-up is temporarily unavailable it returns 503 AGENT_SIGNUP_UNAVAILABLE: try again later.

Worked Example

Common Errors

StatusCodeCause
400VALIDATION_ERRORA missing or invalid email, or an agent_name or org_name that breaks the character rules
403UNCLAIMED_LIMITThe unclaimed workspace already holds its 1 app or 10 links
403CLAIM_REQUIREDThe call needs a claimed workspace: turning a link on, or creating an API key or a custom domain
415UNSUPPORTED_MEDIA_TYPEThe body was not sent with the Content-Type: application/json header
429AGENT_SIGNUP_RATE_LIMITEDToo many sign-ups from this address, or a claim email already went to this email address today
503AGENT_SIGNUP_UNAVAILABLESign-up cannot create a workspace right now. Try again later

See the AI Agents guide for the full setup flow an agent follows.