Check recipient
The exact Verification request contract.
Request #
POST
/api/v1/check-recipient- Scope
- verification:read
- Environment
- Customer Sandbox and Production
- Required headers
- Authorization, Content-Type
The supported public request fields are listed below. Allowed type values are bank_account, mobile_wallet, crypto_wallet, and email. Currency is NGN only.
| Field | Requirement |
|---|---|
| identifier | Required |
| type | Required |
| currency | Required; NGN only |
| bank_code | Conditionally required when type = bank_account |
| amount | Optional or null; finite number from 0 through 1,000,000,000 |
| user_id | Optional or null |
amount and user_id do not affect recipient risk or recommendation. Consult the canonical Commercial OpenAPI for exact character and Unicode bounds.
Request body
{
"identifier": "9000000001",
"type": "bank_account",
"bank_code": "999",
"currency": "NGN",
"amount": 0,
"user_id": "demo-context-001"
}Successful 200 response
{
"request_id": "req_123e4567-e89b-42d3-a456-426614174000",
"checked_at": "2026-10-14T12:00:00.000Z",
"identifier_type": "bank_account",
"risk_level": "low_risk",
"canonical_risk_level": "low",
"blocked": false,
"confidence_score": 0.2,
"risk_score": 20,
"report_count": 1,
"scam_category": "Sandbox Test",
"recommendation": "allow",
"last_reported": "2026-01-10",
"summary_title": "Low risk",
"summary_message": "Sandbox synthetic low-risk fixture. Test data only.",
"evidence_links": []
}Headers and scope #
Code example
Authorization: Bearer $GOWALY_API_KEY
Content-Type: application/jsonRequires verification:read. Verification does not support Idempotency-Key.
Verification request — cURL
# Run in your server environment. Requires verification:read.
curl --request POST "$GOWALY_BASE_URL/api/v1/check-recipient" \
--header "Authorization: Bearer $GOWALY_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"identifier": "9000000001",
"type": "bank_account",
"bank_code": "999",
"currency": "NGN",
"amount": 0,
"user_id": "demo-context-001"
}'Common errors #
| HTTP | Meaning |
|---|---|
| 400 | INVALID_JSON or VALIDATION_ERROR |
| 401 | Missing, invalid, or expired API key |
| 403 | Wrong environment or missing verification:read |
| 429 | Burst rate or monthly quota exceeded |
| 503 | RISK_DATA_UNAVAILABLE; retry with bounded backoff |
Sandbox #
The bank_code 999 fixture family is deterministic and synthetic. Results do not represent Production fraud intelligence.
