1. Authentication
Vortex
  • Documentation
    • Overview
    • Quick Start With The SDK
    • Authentication And API Keys
    • Ramp Lifecycle
    • Ephemeral Key Custody
    • Quotes And Pricing
    • Webhooks
    • Widget Integration
    • Fiat Corridors
    • KYB Deep Link
    • Sandbox
    • Production Checklist
    • AI Agent Integration
  • API Endpoints
    • Vortex Widget
      • Create widget session
    • Quotes
      • Create a new quote
      • Get existing quote
      • Create a quote for the best network
    • Ramp
      • Get ramp status
      • Get ramp error logs
      • Get ramp history for wallet address
      • Register new ramp process
      • Start ramp process
      • Update ramp process
    • Reference Data
      • Supported Countries
      • Supported Cryptocurrencies
      • Supported Fiat Currencies
      • Supported Payment Methods
    • Public Key
      • Public Key
    • Webhooks
      • Register Webhook
      • Delete Webhook
    • Account Management
      • Create user or retry KYC
      • Get user's KYC status
      • Get selfie liveness URL
      • Get KYC document upload URLs
      • Get user information
      • Get user's remaining transaction limits
      • Submit KYC level 1 data
      • Validate Pix key
    • Authentication
      • List the user's API keys
        GET
      • Create a user-linked API key pair
        POST
      • Revoke an API key
        DELETE
      • Request an email OTP
        POST
      • Verify an email OTP
        POST
    • Schemas
      • AccountMeta
      • AveniaDocumentType
      • AveniaKYCDataUploadRequest
      • AveniaKYCDataUploadResponse
      • BrlaAddress
      • BrlaErrorResponse
      • BrlaGetSelfieLivenessUrlResponse
      • BrlaValidatePixKeyResponse
      • CleanupPhase
      • CountryCode
      • CreateBestQuoteRequest
      • CreateQuoteRequest
      • CreateSubaccountRequest
      • CreateSubaccountResponse
      • DestinationType
      • DocumentUploadEntry
      • ErrorResponse
      • FiatToken
      • GetKycStatusResponse
      • GetRampErrorLogsResponse
      • GetRampHistoryResponse
      • GetRampHistoryTransaction
      • GetUserRemainingLimitResponse
      • GetUserResponse
      • GetWidgetUrlLocked
      • GetWidgetUrlRefresh
      • KYCDataUploadFileFiles
      • KYCDocType
      • KycLevel1Payload
      • KycLevel1Response
      • ListUserApiKeysResponse
      • Networks
      • OnChainToken
      • PaymentData
      • PaymentMethod
      • PresignedTx
      • QuoteResponse
      • RampCurrency
      • RampDirection
      • RampErrorLog
      • RampPhase
      • RampProcess
      • RegisterRampRequest
      • SimpleStatus
      • StartKYC2Request
      • StartKYC2Response
      • StartRampRequest
      • TaxIdType
      • TriggerOfframpRequest
      • TriggerOfframpResponse
      • UnsignedTx
      • UpdateRampRequest
      • UserApiKeyErrorResponse
      • UserApiKeyPairResponse
      • ValidatePixKeyResponse
  1. Authentication

Verify an email OTP

Production
Production
POST
/v1/auth/verify-otp
Verifies the emailed one-time password and returns a user session. First-time sign-ins create the user profile; user_id identifies the profile that API keys minted with this session are linked to.
Auth: none.

Request

Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Session created.
Bodyapplication/json

🟠400
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/v1/auth/verify-otp' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "user@example.com",
    "token": "123456"
}'
Response Response Example
200 - Example 1
{
    "access_token": "string",
    "refresh_token": "string",
    "success": true,
    "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
Modified at 2026-07-06 17:49:40
Previous
Request an email OTP
Next
AccountMeta
Built with