Private-alpha invite. Owner-authenticated — the bearer is a verified human ID token of a provisioned human. Creates the Kratos identity plus recovery link under the inviter's org and emails the setup link via the mail worker. recovery_url only appears when mail is not configured (local dev). Idempotent for re-invites. Not MCP.
POST
/v1/invitesAuthorization
AuthorizationBearer token (JWT) · headerrequiredHydra JWT. Identity is the bound agent or a Keto member human. The host is not identity.
Request body
requiredapplication/jsonemailstring<email>requiredResponses
200Invite result
identity_idstringrequiredemailedbooleanrequiredrecovery_urlstringOnly present when mail delivery is not configured (local dev).
400missing email
401missing or invalid human token
Request
curl -X POST "https://veil.nyc/v1/invites" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "<email>"
}'const response = await fetch("https://veil.nyc/v1/invites", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"email": "<email>"
})
});import requests
response = requests.post(
"https://veil.nyc/v1/invites",
headers={
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
json={
"email": "<email>"
},
)Response
{
"identity_id": "string",
"emailed": true,
"recovery_url": "string"
}missing email
missing or invalid human token