Z Zise Developers 简体中文

Query a failed application's reason, refund, and separate KYC review progress

GET /v1/cards/applications/{id}/recovery scope: cards:read
On behalf of a member · x-on-behalf-of required

Remains queryable after the original application fails or is refunded. refund_amount is a decimal amount string; refund_asset is its asset. refund_posted reflects actual refund ledger entries only, never an inference from application status. fields lists KYC field names recommended for correction; can_edit indicates whether the profile can currently be edited. recovery.status is pending_review (awaiting local review), submitting (being submitted), reviewing (awaiting channel review), approved, needs_changes, or manual (manual assistance required). approved means only that the profile review passed; it does not mean a card was issued, revive the old application, or trigger automatic charges.

Path Parameters

FieldTypeRequiredDescription
id string Required
FieldTypeRequiredDescription
x-on-behalf-of string Required

Response

200Original application status, sanitized failure reason, refund amount, and separate review status.
404The application does not exist or does not belong to the current member and merchant.
Request
curl -X GET 'https://api.zinfra.vip/v1/cards/applications/{id}/recovery' \
  -H 'x-auth-token: Bearer $TOKEN' \
  -H 'x-on-behalf-of: $MEMBER_ID'
const res = await fetch("https://api.zinfra.vip/v1/cards/applications/{id}/recovery", {
  method: "GET",
  headers: {
    "x-auth-token": "Bearer $TOKEN",
    "x-on-behalf-of": "$MEMBER_ID",
  },
});
// Keep monetary amounts as strings, never numbers.
const data = await res.json();
import requests

res = requests.get(
    "https://api.zinfra.vip/v1/cards/applications/{id}/recovery",
    headers={
        "x-auth-token": "Bearer $TOKEN",
        "x-on-behalf-of": "$MEMBER_ID",
    },
)
# Use Decimal(str(...)) for amounts, not float.
data = res.json()
req, _ := http.NewRequest("GET", "https://api.zinfra.vip/v1/cards/applications/{id}/recovery",
    nil)
req.Header.Set("x-auth-token", "Bearer $TOKEN")
req.Header.Set("x-on-behalf-of", "$MEMBER_ID")
res, err := http.DefaultClient.Do(req)
// Decode amount fields as string, not float64.
HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://api.zinfra.vip/v1/cards/applications/{id}/recovery"))
    .header("x-auth-token", "Bearer $TOKEN")
    .header("x-on-behalf-of", "$MEMBER_ID")
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
// Use String / BigDecimal for amounts, not double.
$ch = curl_init('https://api.zinfra.vip/v1/cards/applications/{id}/recovery');
curl_setopt_array($ch, [
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    'x-auth-token: Bearer $TOKEN',
    'x-on-behalf-of: $MEMBER_ID',
  ],
]);
$res = curl_exec($ch);
// Use bcmath / strings for amounts, not floatval.
200
// No response example is declared in the specification for this operation.