Skip to main content
For full KYC and KYB submission flows, lookup endpoints, and endorsement tracking, see KYC / KYB verification. This page focuses on resubmitting one endorsement on the main API without re-running every other endorsement on the customer.

Environments

Authenticate with your team’s API key pair (X-Api-Key and X-Api-Secret). See Authentication.

Response envelope

Every endpoint returns the standard envelope:

Endorsements you can resubmit (main API)

An endorsement is one capability a customer can be verified for. These endorsements support resubmission through POST /customer/kyc/resubmit/{customer_id}/{endorsement} today: Other endorsement names exist on a customer’s profile (for example cobo_pobo, native, eurde, usd_latam, eur_latam) but don’t support resubmission through this endpoint yet. Calling it with one of those returns 422.

Resubmit an endorsement

This applies to individual customers only, except card_checkout, which accepts business customers too.
A 200 means the resubmission was accepted and queued. It does not mean verification finished. Watch endorsement.updated or read GET /customer/{customer_id}.

Checking the result

  • status moves through not_started → submitted → under_review → approved / declined / rejected.
  • metadata.last_resubmission reflects the outcome of your most recent resubmission call. success: false there means the resubmission itself couldn’t be processed, not that verification was declined.
  • service is title-cased (for example "Faster payments"). Compare against the lowercase form you sent (faster_payments).

Error responses

Integration example

KYC platform resubmit (individual or business)

For any endorsement, including cobo_pobo, native, eurde, and LATAM rails, use the KYC platform:
See Resubmit one endorsement for status codes and rate limits.

Notes

  • Resubmission affects one endorsement only.
  • Calling this repeatedly for an endorsement that’s already approved won’t downgrade an existing approval purely from this call succeeding.
  • Resubmission runs on a background queue; expect status changes within seconds to a couple of minutes.