---
title: "Resync verification state"
method: POST
path: "/v0/customers/{id}/kyc/resync"
tags: ["Customers"]
---

# Resync verification state

`POST /v0/customers/{id}/kyc/resync`

## Request

- Base URL: `https://orchestration.seismic.systems/api`
- URL: `https://orchestration.seismic.systems/api/v0/customers/{id}/kyc/resync`
- Auth: API key in header `Api-Key`

Force a live re-read of the customer's verification status. Use when a webhook was missed; state normally stays fresh on its own.

## Path parameters

- `id` string, uuid, required

## Response `200`

Refreshed state envelope.

- union: `POST /v0/customers/:id/kyc/{submit,resync}` + `GET /v0/customers/:id/kyc/state`.
  - object
    - `state` KycState, required: Rolled-up KYC verification state for an individual customer.
      - `kyc_link` KycLink: Hosted verification link for the customer to complete KYC.
        - `expires_at` string, date-time, nullable
        - `url` string, required
      - `kyc_status` 'draft' | 'submitted' | 'under_review' | 'action_required' | 'approved' | 'rejected' | 'terminally_rejected' | 'paused' | 'unknown', required
      - `last_submitted_at` string, date-time, nullable: When the profile was last filed for verification, or `null` if it never has been. Moves on every submission that reaches verification, so a resubmission is visible even though the status it lands in is the same one it left.
      - `last_synced_at` string, date-time, required
      - `missing_fields` string[], required
      - `pending_rfi` boolean: `true` while an open request for information is outstanding on this verification. Raised by Seismic compliance and independent of the status, so it can be `true` at any status; answering every open item clears it. Resubmitting the profile does not.
      - `rejection_reason` string, nullable
      - `resubmit_available` boolean: Whether submitting again would re-file part of this verification for review. `false` before the first submission.
    - `type` 'individual', required
  - object
    - `state` KybState, required: Rolled-up KYB verification state for a business customer.
      - `kyb_link` KybLink: Hosted verification link for the business to complete KYB.
        - `expires_at` string, date-time, nullable
        - `url` string, required
      - `kyb_status` 'draft' | 'submitted' | 'under_review' | 'action_required' | 'approved' | 'rejected' | 'terminally_rejected' | 'paused' | 'unknown', required
      - `last_submitted_at` string, date-time, nullable: When the profile was last filed for verification, or `null` if it never has been. Moves on every submission that reaches verification, so a resubmission is visible even though the status it lands in is the same one it left.
      - `last_synced_at` string, date-time, required
      - `missing_fields` string[], required
      - `pending_rfi` boolean: `true` while an open request for information is outstanding on this verification. Raised by Seismic compliance and independent of the status, so it can be `true` at any status; answering every open item clears it. Resubmitting the profile does not.
      - `rejection_reason` string, nullable
      - `resubmit_available` boolean: Whether submitting again would re-file part of this verification for review. `false` before the first submission.
    - `type` 'business', required

## Other responses

- `401`: Missing or invalid API key.
- `404`: Customer not found.

---

[API](https://skmtc.dev/seismic/apis/seismic-orchestration-api.md) - [All operations](https://skmtc.dev/seismic/apis/seismic-orchestration-api/llms.txt) - [OpenAPI document](https://skmtc.dev/seismic/apis/seismic-orchestration-api/revisions/08ada1f159fa?raw)
