# Verification completed

Our system sends the “Verification completed” callback when a user completes and submits a form. Please note that this callback is sent with the `verification_status` parameter set to `pending`.

Enable in the Dashboard first
The callback must be enabled in the Dashboard for a specific form before use. For instructions, see [Using the “Verification status changed” callback](/guides/form-integration#using-the-verification_status_changed-callback).

## Schema

```json
{
  "$ref": "#/components/schemas/verification-completed-api",
  "components": {
    "schemas": {
      "request_id": {
        "title": "Request ID",
        "type": "string",
        "minLength": 36,
        "maxLength": 36,
        "example": "da0ebf0ade0bfad0ebf0adeb0fade0bfad0e",
        "description": "A unique identifier for a callback request, assigned by our system after a callback is automatically created by our system after an event occurs"
      },
      "verification_id": {
        "title": "Verification ID",
        "type": [
          "string",
          "null"
        ],
        "minLength": 36,
        "maxLength": 36,
        "example": "da0ebf0ade0bfad0ebf0adeb0fade0bfad0e",
        "description": "A unique identifier for a verification, assigned by our system after a verification is created using the “Create a verification\" request"
      },
      "applicant_id": {
        "title": "Applicant ID",
        "type": "string",
        "minLength": 36,
        "maxLength": 36,
        "example": "da0ebf0ade0bfad0ebf0adeb0fade0bfad0e",
        "description": "A unique identifier of an applicant, that is assigned by our system after an applicant object was created with a “Create an applicant” request"
      },
      "form_id": {
        "title": "Form ID",
        "type": [
          "string",
          "null"
        ],
        "minLength": 36,
        "maxLength": 36,
        "example": "da0ebf0ade0bfad0ebf0adeb0fade0bfad0e",
        "description": "A unique identifier of a form, assigned by our system after it is created in the Dashboard"
      },
      "form_token": {
        "title": "Form token",
        "type": "string",
        "minLength": 36,
        "maxLength": 36,
        "example": "da0ebf0ade0bfad0ebf0adeb0fade0bfad0e",
        "description": "A unique token for a form, generated by our system, and included as part of a form URL"
      },
      "verification_status--1": {
        "title": "Verification status",
        "type": "string",
        "example": "unused",
        "description": "Verification status, that indicates the current state of a verification process\n- `unused`: a user has not completed the form\n- `pending`: the verification is in progress\n- `completed`: the verification has been successfully completed\n"
      },
      "verified--overall": {
        "type": [
          "string",
          "null"
        ],
        "enum": [
          true,
          false
        ],
        "example": true,
        "description": "The overall verification result, that indicates the cumulative outcome of all verification steps selected in a form:\n- `null`: a verification result is not yet determined because a verification is in progress\n- `true`: a verification was successful\n- `false`: a verification was unsuccessful\n"
      },
      "verified--verification-type": {
        "type": [
          "string",
          "null"
        ],
        "enum": [
          true,
          false
        ],
        "example": true,
        "description": "Verification result that indicates the outcome of a overall verification process:\n- `null`: a verification result is not yet determined because a verification is in progress\n- `true`: a verification was successful\n- `false`: a verification was unsuccessful\n"
      },
      "verification-completed-api": {
        "type": "object",
        "title": "VERIFICATION_COMPLETED",
        "properties": {
          "type": {
            "type": "string",
            "example": "VERIFICATION_COMPLETED"
          },
          "request_id": {
            "$ref": "#/components/schemas/request_id"
          },
          "verification_id": {
            "$ref": "#/components/schemas/verification_id"
          },
          "applicant_id": {
            "$ref": "#/components/schemas/applicant_id"
          },
          "form_id": {
            "$ref": "#/components/schemas/form_id"
          },
          "form_token": {
            "$ref": "#/components/schemas/form_token"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/verification_status--1"
              },
              {
                "example": "completed"
              }
            ]
          },
          "verified": {
            "$ref": "#/components/schemas/verified--overall"
          },
          "verifications.{verification_type}.verified": {
            "$ref": "#/components/schemas/verified--verification-type"
          },
          "verifications.{verification_type}.comment": {},
          "applicant.applicant_id": {
            "$ref": "#/components/schemas/applicant_id"
          },
          "applicant.external_applicant_id": {},
          "applicant.type": {},
          "applicant.created_at": {},
          "applicant.profile_status": {},
          "applicant.profile_comment": {}
        }
      }
    }
  }
}
```

## Example

```json
{
  "type": "VERIFICATION_COMPLETED",
  "request_id": "b730d77f049ae24c9b18f054399b7307eb3b",
  "verification_id": "270128a807f3c24bfd1b8da4a4af7d2080c4",
  "applicant_id": "723f46ab04feb64f442946f2952a67eaecf7",
  "form_id": "203148eb10810e24b2c1afaa4b9759008d352",
  "form_token": "d2177cdf067d425a221b5d045dc616bf81f9",
  "status": "completed",
  "verified": true,
  "verifications": {
    "profile": {
      "verified": true,
      "comment": "",
      "decline_reasons": []
    },
    "document": {
      "verified": true,
      "comment": "",
      "decline_reasons": []
    }
  },
  "applicant": {
    "applicant_id": "723f46ab04feb64f442946f2953a67eaeca7",
    "external_applicant_id": "cb1eebbe-9945-4e64-8f60-c930f1e3e237",
    "type": "PERSON",
    "created_at": "2025-02-14 12:55:12",
    "profile_status": "valid",
    "profile_comment": null,
    "first_name": "Josh",
    "origin_first_name": "Джош",
    "middle_name": null,
    "origin_middle_name": null,
    "last_name": "Coffey",
    "origin_last_name": "Кофі",
    "residence_country": "GB",
    "nationality": null,
    "dob": "1976-02-21",
    "gender": "M",
    "email": null,
    "phone": null,
    "phone_status": null,
    "wallet_address": null,
    "telegram_username": null,
    "pep": null,
    "custom_field_1": null,
    "custom_field_2": null,
    "custom_field_3": null,
    "custom_field_4": null,
    "custom_field_5": null,
    "decline_reasons_ids": null,
    "decline_reasons": [],
    "addresses": [],
    "documents": [
      {
        "document_id": "f4424a5c0a97424265184fc4fa8388787b91",
        "type": "PASSPORT",
        "provider": "MANUAL",
        "status": "valid",
        "comment": null,
        "document_number": "FX739910",
        "additional_number": null,
        "issue_date": "2019-11-22",
        "expiry_date": "2029-11-22",
        "issuing_authority": "8017",
        "income_sources": [],
        "annual_income": null,
        "transaction_amount": null,
        "transaction_purpose": null,
        "origin_funds": null,
        "card_number": null,
        "account_number": null,
        "portrait": "https://storage.googleapis.com/kycaid/portraits/0654ce820dcbb24e161aea24541324626d90.jpg",
        "front_side_id": "136138ff07539248ad1955f445f58b4e57dc",
        "front_side": "https://storage.googleapis.com/kycaid/files/72fc74300ca8d248b418d064c82027979666.jpg",
        "front_side_size": 355543,
        "front_side_signature": null,
        "back_side_id": null,
        "back_side": null,
        "back_side_size": null,
        "origin_back_side": null,
        "origin_back_side_size": null,
        "back_side_signature": null,
        "other_side_1_id": null,
        "other_side_1": null,
        "other_side_1_size": null,
        "origin_other_side_1": null,
        "origin_other_side_1_size": null,
        "other_side_1_signature": null,
        "other_side_2_id": null,
        "other_side_2": null,
        "other_side_2_size": null,
        "origin_other_side_2": null,
        "origin_other_side_2_size": null,
        "other_side_2_signature": null,
        "other_side_3_id": null,
        "other_side_3": null,
        "other_side_3_size": null,
        "origin_other_side_3": null,
        "origin_other_side_3_size": null,
        "other_side_3_signature": null,
        "created_at": "2025-02-14 12:55:12",
        "decline_reasons_ids": null,
        "decline_reasons": []
      }
    ],
    "questionnaires": [],
    "verification_status": "valid",
    "verifications_count": 1
  },
  "client_info": {
    "ip": "193.194.107.42",
    "device": {
      "user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Mobile/15E148 Safari/604.1",
      "model": "iPhone",
      "type": "mobile",
      "vendor": "Apple",
      "engine": {
        "name": "WebKit",
        "version": "605.1.15"
      },
      "os": {
        "name": "iOS",
        "version": "18.3.1"
      },
      "browser": {
        "name": "Mobile Safari",
        "version": "18.3"
      }
    },
    "address": {
      "city": "London",
      "region": "London",
      "country_code": "GB"
    },
    "location": {
      "latitude": 52.408,
      "longitude": 31.5403
    }
  },
  "verification_statuses": {
    "duplicates": [],
    "ludoman": null,
    "agreed_with_tc": null,
    "face_match_confidence": null
  },
  "verification_attempts_left": null
}
```