Skip to content
Seismic Orchestration

POST /customers/:id/kyc/resync

Force Seismic to pull the latest verification status for one customer. Normally Seismic reacts to inbound webhooks. Resync exists for when a webhook was lost, the customer just finished a hosted session and wants instant feedback, or operators want to confirm the cached state matches reality.

Dispatches against the right flow based on the customer's type: KYC for individuals, KYB for businesses. When more than one verification check runs in parallel, the results are rolled up into a single CustomerState.

Request body

Empty.

Response 200

The freshly-synced CustomerState, wrapped in the { type, state } envelope. Example: an individual that just cleared.

{
  "type": "individual",
  "state": {
    "kyc_status": "approved",
    "kyc_link": null,
    "missing_fields": [],
    "last_synced_at": "2026-05-04T16:00:00.000Z",
    "rejection_reason": null,
    "pending_rfi": false,
    "last_submitted_at": "2026-05-04T11:40:00.000Z",
    "resubmit_available": false
  }
}

For businesses, state.kyb_status and state.kyb_link replace the kyc_* fields. The rest is identical.

Errors

  • 404: unknown id, or no submission yet for this customer.
  • 503 ServiceUnavailable: Seismic's verification backend is temporarily unavailable. Cached state is unchanged. Retry with exponential backoff.

Example

curl -X POST "$SEISMIC_ORCHESTRATION_URL/v0/customers/$CUSTOMER_ID/kyc/resync" \
  -H "Api-Key: $SEISMIC_ORCHESTRATION_API_KEY"