Skip to content

POST /v1/signup

Call POST /v1/signup
Price free
Scope none (public endpoint)
Operation id signup

Start sign-up with a work email; no browser and no card needed. Verdict emails a verification link; complete sign-up with POST /v1/signup/verify using the token from the link, which issues your first key (shown once) and $5 of starter credits. If the verification email cannot be sent, the answer is 503 vendor_unavailable with Retry-After and nothing is created: retry the same request after that many seconds. Free. No key needed.

Copy it as curl. Set VERDICT_API_KEY first; uuidgen makes a fresh Idempotency-Key.

Request
curl -X POST 'https://api.askverdict.io/v1/signup' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
-d '{
"email": "[email protected]",
"org_name": "Northwind Ops"
}'

202: Verification email sent.

202 response
{
"status": "verification_sent",
"email": "[email protected]",
"expires_at": "2026-11-07T14:10:00Z"
}
Name In Type Required Description
idempotency-key header string (uuid) yes A UUID you generate per logical request. Required on every POST. Repeating it within 24 hours returns the stored response and bills nothing; reusing it with a different body returns 409 idempotency_conflict.

Schema SignupRequest. The email to verify.

Field Type Required Description
email string (email) yes Work email. A verification link is sent to it; disposable domains are refused.
org_name string no Organization name; defaults to the email’s domain.

Schema SignupResponse.

Field Type Required Description
status enum: “verification_sent” yes A verification email was sent.
email string (email) yes The address it was sent to.
expires_at string (date-time) yes When the verification link expires.

Errors are RFC 9457 problem details and are never billed. Branch on type. See Errors.

Status Meaning
400 Invalid request: malformed JSON, an unknown field, a failed constraint or a size limit (invalid_request).
409 The Idempotency-Key was reused with a different request, or the first request is still running (idempotency_conflict).
429 Rate limited (rate_limited). Wait Retry-After seconds.
500 Unexpected server error (internal). Not billed; retry with the same Idempotency-Key.
503 Temporarily unavailable: the decision model failed, timed out or is rate limited, or decisions are switched off (decision_unavailable), or a vendor the call depends on is unavailable (vendor_unavailable, phase 2). Not billed. Wait Retry-After seconds and retry with the same Idempotency-Key.

Open the interactive reference to send this request from the browser. The full document is at /openapi.json.