registerWithOtp
Public: no authentication required.
Step 3 of registering an organization by email: creates the organization and its first admin user. It needs the verification token from verifyRegistrationOtp and returns an onboarding ID for following progress. Rate-limited per IP address. No sign-in needed.
Errors: a failed call returns a GraphQL errors entry, not a field on the result, and data may be null or partial. Read the entry's extensions.code and message; every shape and code is in the Error reference.
Example:
- GraphQL
- cURL
mutation RegisterWithOtp($input: OtpRegisterInput!) {
registerWithOtp(input: $input) {
message
onboardingId
organizationId
success
useAsyncOnboarding
}
}
curl -X POST "https://<api-host>/graphql" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--data @- <<'EOF'
{
"query": "mutation RegisterWithOtp($input: OtpRegisterInput!) {\n registerWithOtp(input: $input) {\n message\n onboardingId\n organizationId\n success\n useAsyncOnboarding\n }\n}",
"variables": {
"input": {
"companyName": "string",
"country": "string",
"email": "string",
"subdomain": "string",
"verificationToken": "string"
}
}
}
EOF
Variables:
{
"input": {
"companyName": "string",
"country": "string",
"email": "string",
"subdomain": "string",
"verificationToken": "string"
}
}
Response:
{
"data": {
"registerWithOtp": {
"message": "string",
"onboardingId": "string",
"organizationId": "string",
"success": true,
"useAsyncOnboarding": true
}
}
}
registerWithOtp(
input: OtpRegisterInput!
): OtpRegisterResponse!
Arguments
registerWithOtp.input ● OtpRegisterInput! non-null input
The email address, the verification token and the details of the organization to create.
Type
OtpRegisterResponse object
The result of step 3 of signing up. The organization is set up at once, and the onboarding ID lets the portal follow the rest of the setup.