Create your Tarsana account
Change · POST /v1/signups · MCP tool signup
Starts a signup for a new tenant, with a tenant ID you choose. Sign up with Google or LinkedIn, and you get an address to visit to confirm who you are (identity_check.authorization_url); sign up with your email address, and we send you a link (sent_to). If the tenant ID is taken or not allowed, you are told now, before any link is sent. Nothing is created until you finish with complete-signup, and you do not need to sign in.
You do not need to sign in.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
identity_provider | body | yes | How you prove who you are: with Google, with LinkedIn, or with your email address. One of google, linkedin, email |
tenant | body | yes | The tenant ID you want: lower-case letters, digits, dots, dashes and underscores, up to 64 characters. You cannot change it later, and it should not be your email address |
email | body | no | Your email address, if you sign up by email. It becomes your login name |
Returns
A JSON object with these keys: signup, identity_provider, tenant, identity_check, sent_to, delivery, expires_at, guarantee, caller_authenticated.
Example request
curl -X POST https://api.tarsana.io/v1/signups \
-H "Content-Type: application/json" \
--data '{"identity_provider": "email", "tenant": "acme", "email": "you@example.com"}'
Example response
{
"signup": "c7e7d896876644cf",
"identity_provider": "email",
"tenant": "acme",
"identity_check": {
"authorization_url": null
},
"sent_to": "you@example.com",
"delivery": {
"transport": "smtp",
"state": "accepted"
},
"expires_at": "2026-10-05T02:30:39Z",
"guarantee": "namespaces are separated, callers are not authenticated",
"caller_authenticated": false
}
Errors
| Code | HTTP | What it means |
|---|---|---|
invalid_parameter | 400 | A value in your request does not have the expected format, for example a submission ID that is not a spec hash. Check the value against the field's description and try again. |
tenant_refused | 400 | This tenant ID is not allowed, or is not in the expected format. Use a different ID made of lower-case letters, digits, dots, dashes and underscores. |
tenant_taken | 409 | This tenant ID is already taken. Choose a different ID. |
signup_refused | 400 | Your signup could not be completed: the link was already used or has expired, your identity was not confirmed, your email domain is not accepted, or this identity already has a login. The response says which; start a new signup, or sign in with your existing login. |
signup_not_configured | 503 | This way of signing up is not available on this Tarsana deployment. Choose another way to sign up, or contact Tarsana support. |
signup_rate_limited | 429 | Too many signups were started from your address, or a link was sent to this email address too recently. Wait for the time given in the response, then try again. |
signup_delivery_failed | 502 | Your signup link could not be sent, so nothing was created. Start the signup again, or sign up with Google or LinkedIn instead. |
rate_limited | 429 | You sent too many requests in a short time. Wait for the number of seconds in retry_after_seconds, then try again. |
surface_fault | 500 | Something went wrong on our side. Try again later, and contact Tarsana support if it keeps happening. |