Skip to Content
DocsAPI ReferenceVerification

Verification

Email verification for user accounts.

Base path: /api/v1/verification


POST /api/v1/verification/email

Verify an email address using the token from the verification link. The token must be unused and not expired (24-hour window).

Authentication: None

Cache: None

Request Body

FieldTypeRequiredDescription
tokenstringYesVerification token from the email link

Sample Request

curl -X POST -H "Content-Type: application/json" \ https://api.grails.app/api/v1/verification/email \ -d '{ "token": "abc123..." }'

Response

// 200 OK { "success": true, "data": { "message": "Email verified successfully" }, "meta": { "timestamp": "2026-04-08T00:00:00.000Z", "version": "1.0.0" } }

Error Responses

StatusCodeDescription
400INVALID_TOKENInvalid or expired verification token
400VALIDATION_ERRORInvalid request body
500VERIFICATION_FAILEDFailed to verify email

POST /api/v1/verification/resend

Resend the verification email to the authenticated user’s email address. Generates a new 24-hour token and queues the email for delivery.

Authentication: Required

Cache: None

Sample Request

curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \ https://api.grails.app/api/v1/verification/resend

Response

// 200 OK { "success": true, "data": { "message": "Verification email sent" }, "meta": { "timestamp": "2026-04-08T00:00:00.000Z", "version": "1.0.0" } }

Error Responses

StatusCodeDescription
400NO_EMAILNo email address on file
400ALREADY_VERIFIEDEmail already verified
401UNAUTHORIZEDNot authenticated
404USER_NOT_FOUNDUser not found
500RESEND_FAILEDFailed to resend verification email
Last updated on