Verifications

Trigger DNS/HTTP check

Trigger a DNS or HTTP verification check for domain verifications.

This route fetches the evidence itself, so it applies ONLY to a domain challenged over dns, http or auto. Any other pair answers 400 unsupported_for_type and names the route that completes it — POST /api/v1/verifications/{id}/submit for the mailed pairs (type: email, and type: domain with channel: email), the inbound message for a phone, the OAuth callback for a social account. The refusal costs nothing: no attempt is recorded and the attempt counter does not move.

post/api/v1/verifications/{id}/verify

Request

  • Base URL: https://api.proof.holdings
  • URL: https://api.proof.holdings/api/v1/verifications/{id}/verify
  • Auth: HTTP bearer

Path parameters

idstring required

MongoDB ObjectId

Example:507f1f77bcf86cd799439011

Response

Verification check result

idstring required

MongoDB ObjectId

type'phone' | 'email' | 'domain' | 'social' | 'wallet' | 'account' | 'telegram_bot' required

Type of asset being verified

channel'whatsapp' | 'telegram' | 'sms' | 'email' | 'dns' | 'http' | 'auto' | 'github' | 'google' | 'facebook' | 'x' | 'linkedin' | 'instagram' | 'youtube' | 'tiktok' | 'ethereum' | 'solana' | 'bitcoin' | 'coinbase' | 'kraken' | 'telegram_bot_token' required

Channel used for verification

identifierstring

The identifier being verified; absent for an identifier-free phone verification, whose number is learned only when the person completes it

status'pending' | 'verified' | 'failed' | 'expired' | 'revoked' | 'cancelled' required

Current status of the verification

external_user_idstring
attemptsinteger
max_attemptsinteger
created_atstring date-time required
updated_atstring date-time
verified_atstring date-time

Example response

{
  "id": "507f1f77bcf86cd799439011",
  "type": "phone",
  "channel": "whatsapp",
  "identifier": "+3706***9199",
  "status": "pending",
  "challenge": {
    "code": "X7K2M9",
    "instruction": "Send X7K2M9 to +370 691 99199 on WhatsApp",
    "expires_at": "2026-02-13T12:00:00Z"
  },
  "proof": {
    "token": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expires_at": "2025-01-15T12:00:00Z",
    "confidence": "high"
  },
  "max_attempts": 5
}

Changes

No recorded changes to this operation across all 1 revision of this API.