Card application status
curl --request GET \
--url https://api.example.com/api/v1/cards/application/statusconst options = {method: 'GET'};
fetch('https://api.example.com/api/v1/cards/application/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.example.com/api/v1/cards/application/status"
response = requests.get(url)
print(response.text)Cards
Card application status
Get the status of the user’s card application and whether a card can be created.
GET
/
api
/
v1
/
cards
/
application
/
status
Card application status
curl --request GET \
--url https://api.example.com/api/v1/cards/application/statusconst options = {method: 'GET'};
fetch('https://api.example.com/api/v1/cards/application/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.example.com/api/v1/cards/application/status"
response = requests.get(url)
print(response.text)Requires
Authorization: Bearer <user-access-token> — the token from Verify login code. No X-Api-Key/X-Api-Secret needed; this is a post-login endpoint.Request
GET /api/v1/cards/application/status
Authorization: Bearer <user-access-token>
Response
200 OK{
"success": true,
"data": {
"application": {
"id": "app-uuid",
"accountId": "account-uuid",
"userId": "user-uuid",
"rainApplicationId": "rain-app-id",
"personaShareToken": "shr_abc123",
"walletAddress": null,
"solanaAddress": null,
"tronAddress": null,
"chainId": null,
"contractAddress": null,
"sourceKey": "partner-key-id",
"ipAddress": "203.0.113.10",
"occupation": "Software Engineer",
"annualSalary": "85000",
"accountPurpose": "personal",
"expectedMonthlyVolume": "5000",
"isTermsOfServiceAccepted": true,
"hasExistingDocuments": false,
"cardType": "virtual",
"isActive": true,
"applicationStatus": "approved",
"applicationReason": null,
"createdAt": "2026-01-15T00:00:00.000Z",
"updatedAt": "2026-01-15T00:00:00.000Z"
},
"card": {
"id": "card-uuid",
"type": "virtual",
"status": "active",
"last4": "1234",
"expirationMonth": "12",
"expirationYear": "2029",
"limit": {
"amount": 5000,
"frequency": "per30DayPeriod"
}
},
"hasApplication": true,
"canCreateCard": false,
"statusSummary": {
"local": "approved",
"external": "approved",
"synced": true
}
}
}
| Field | Type | Description |
|---|---|---|
data.application | object | null | RainCards application, null if the user has not applied |
data.application.applicationStatus | string | Status of the card application (pending, approved, declined, …) |
data.card | object | null | Issued card summary, null if no card has been issued |
data.card.status | string | null | Card status — active, locked, canceled, … |
data.hasApplication | boolean | Whether a card application exists for the user |
data.canCreateCard | boolean | true when card issuance can be called |
data.statusSummary | object | Local vs. external (RainCards) status and whether they are in sync |
Errors
| HTTP status | Error | Cause |
|---|---|---|
401 | x-user-id header required | Missing or invalid token |