Skip to main content
POST
https://sandbox.finhub.cloud
/
api
/
v2.1
/
consent
/
verification
/
resend
Consent Verification API
curl --request POST \
  --url https://sandbox.finhub.cloud/api/v2.1/consent/verification/resend \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --header 'X-Tenant-ID: <x-tenant-id>' \
  --data '
{
  "customerId": "<string>",
  "consentId": "<string>",
  "channel": "<string>",
  "redirectUrl": "<string>",
  "expiresInMinutes": 123
}
'
{
  "success": true,
  "data": {
    "customerId": "cust_12345",
    "consentId": "cons_67890",
    "channel": "EMAIL",
    "sentAt": "2024-01-15T10:30:00Z",
    "expiresAt": "2024-01-15T11:30:00Z"
  }
}

Consent Verification API

APIs for verifying customer consents through various methods including email resend, magic links, and token verification.
Base URL: https://sandbox.finhub.cloud/api/v2.1/consent/verification

Available Operations

Resend Verification

POST /resend

Send Magic Link

POST /send-magic-link

Verify Token

GET /verify/{token}

Resend Verification

Resends the consent verification email to the customer.

Request

Authorization
string
required
Bearer token for authentication
X-Tenant-ID
string
required
Tenant identifier
customerId
string
required
Customer identifier
Consent identifier to verify
channel
string
Delivery channel: EMAIL, SMS (default: EMAIL)

Code Examples

curl -X POST "https://sandbox.finhub.cloud/api/v2.1/consent/verification/resend" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "X-Tenant-ID: YOUR_TENANT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cust_12345",
    "consentId": "cons_67890",
    "channel": "EMAIL"
  }'
{
  "success": true,
  "data": {
    "customerId": "cust_12345",
    "consentId": "cons_67890",
    "channel": "EMAIL",
    "sentAt": "2024-01-15T10:30:00Z",
    "expiresAt": "2024-01-15T11:30:00Z"
  }
}

Sends a magic link for one-click consent verification.

Request

customerId
string
required
Customer identifier
Consent identifier to verify
redirectUrl
string
URL to redirect after verification (must be whitelisted)
expiresInMinutes
integer
Link expiration time in minutes (default: 60, max: 1440)

Code Examples

curl -X POST "https://sandbox.finhub.cloud/api/v2.1/consent/verification/send-magic-link" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "X-Tenant-ID: YOUR_TENANT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cust_12345",
    "consentId": "cons_67890",
    "redirectUrl": "https://your-app.com/consent-confirmed",
    "expiresInMinutes": 60
  }'
{
  "success": true,
  "data": {
    "customerId": "cust_12345",
    "consentId": "cons_67890",
    "sentTo": "j***@example.com",
    "sentAt": "2024-01-15T10:30:00Z",
    "expiresAt": "2024-01-15T11:30:00Z"
  }
}

Verify Token

Verifies a consent using the token from the verification email or magic link.

Request

token
string
required
Verification token from email or magic link
X-Tenant-ID
string
required
Tenant identifier

Code Examples

curl -X GET "https://sandbox.finhub.cloud/api/v2.1/consent/verification/verify/eyJhbGciOiJIUzI1NiIs..." \
  -H "X-Tenant-ID: YOUR_TENANT_ID"
{
  "success": true,
  "data": {
    "verified": true,
    "customerId": "cust_12345",
    "consentId": "cons_67890",
    "consentType": "TERMS",
    "verifiedAt": "2024-01-15T10:35:00Z",
    "redirectUrl": "https://your-app.com/consent-confirmed"
  }
}

Verification Flow

1

Request Verification

Call /resend or /send-magic-link to send verification to customer
2

Customer Clicks Link

Customer receives email and clicks the verification link
3

Token Validation

System validates the token via /verify/{token}
4

Consent Confirmed

Consent status updated to ACCEPTED and customer redirected

Delivery Channels

ChannelDescription
EMAILVerification sent via email
SMSVerification sent via SMS (if enabled)

Response Codes

CodeDescription
200Operation successful
400Invalid request data or token
401Not Authorized
403Not Allowed
404Consent or customer not found
410Token expired
429Rate limit exceeded
500Internal server error