Documentation version: Latest (v1)

API endpoint

Legacy OTP verifications alias

Compatibility alias for instant OTP verification history endpoint.

GET/api/v1/otp/verifications?limit=50

Auth: Same as /api/v1/instant-otp/verifications

Legacy alias. Prefer /api/v1/instant-otp/verifications for new integrations.

Required headers

HeaderRequiredValueDescription
AuthorizationYesBearer <token>API key, server OTP key, or public OTP token depending on endpoint.
X-Otp-SecretYesrisu_otp_sec_...Analytics secret paired with public OTP token.

Query parameters

FieldTypeRequiredDescription
limitnumberNoDefault 50, max 100.

Code examples (all supported languages)

Snippets use placeholder tokens. Replace them with real credentials from your dashboard.

curl -X GET "https://risumail.risu.in/api/v1/otp/verifications?limit=50" \
  -H "Authorization: Bearer risu_otp_PUBLIC_TOKEN" \
  -H "X-Otp-Secret: risu_otp_sec_ANALYTICS_SECRET"

Response schema

Canonical schema inferred from the documented success payload. Copy this block when generating typed clients.

{
  "type": "object",
  "required": [
    "success",
    "data"
  ],
  "properties": {
    "success": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "required": [
        "verifications"
      ],
      "properties": {
        "verifications": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "email",
              "verifiedAt"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "verifiedAt": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}

Success response example

{
  "success": true,
  "data": {
    "verifications": [
      {
        "id": "otp_sess_01J...",
        "email": "user@example.com",
        "verifiedAt": "2026-04-19T11:45:24.000Z"
      }
    ]
  }
}

Common error cases

StatusCodeWhen
401UNAUTHORIZEDMissing public token or x-otp-secret.
403OTP_PUBLIC_IP_NOT_ALLOWEDPublic token allowlist blocked.

Implementation notes

  • Legacy alias only. Prefer /api/v1/instant-otp/verifications for new clients.