Skip to content

Passport Verification

All requests must include the following request headers:

Name Type Required Description
X-Api-Key string Yes Unique shop identifier
X-Signature string Yes Request signature

The signature is generated using secret_key — the secret key found in the merchant's shop settings.

Passport validity check

This method is used to submit a Russian passport for a validity check with the Ministry of Internal Affairs (MVD) based on its details.

Verification request

Method: POST

  • Production: https://api.baas.kvell.group/v1/smev3/gismu/rfp-actual
  • Stage: https://api.baas.stage.kvell.group/v1/smev3/gismu/rfp-actual

Request parameters (JSON)

Name Data type Required Description
seriya string (4 digits) Yes Passport series
number string (6 digits) Yes Passport number
issue_date string (format YYYY-MM-DD) Yes Issue date
{
  "seriya": "7801",
  "number": "601601",
  "issue_date": "2010-10-10"
}

Building the signature

The X-Signature signature is generated by concatenating X-Api-Key, json <request body> and secret_key. sha256 is computed from the resulting string:

sha256({x-api-key}{json <request body>}{secret_key})

Request response

{
  "request_id": "b934283c-7afb-46b5-afb7-51f9aaff4ada"
}

request_id — request identifier, used to retrieve the result.

Retrieving the check result

Method: GET

  • Production: https://api.baas.kvell.group/v1/smev3/gismu/rfp-actual/{request_id}
  • Stage: https://api.baas.stage.kvell.group/v1/smev3/gismu/rfp-actual/{request_id}

URL request parameters

Name Data type Required Description
request_id string Yes Request identifier
GET /v1/smev3/gismu/rfp-actual/b934283c-7afb-46b5-afb7-51f9aaff4ada

Building the signature

The X-Signature signature is generated by concatenating X-Api-Key, request_id and secret_key. sha256 is computed from the resulting string:

sha256({x-api-key}{request_id}{secret_key})

Request response

{
  "state": "in_progress"
  "request_id": "6ed9f77b-c150-4cdb-adcf-9d70d167f6ab",
  "response_id": null
}
{
  "state": "finished",
  "request_id": "6ed9f77b-c150-4cdb-adcf-9d70d167f6ab",
  "response_id": "ac91f7a8-c1ab-4e28-90a2-4abb4786f95cs",
  "result": {
    "status": "invalid",
    "reason": "Expired",
    "date": "2001-01-01"
  }
}
{
  "state": "finished",
  "request_id": "6ed9f77b-c150-4cdb-adcf-9d70d167f6ab",
  "response_id": "ac91f7a8-c1ab-4e28-90a2-4abb4786f95cs",
  "result": {
    "status": "valid"
  }
}
{
  "state": "finished",
  "request_id": "6ed9f77b-c150-4cdb-adcf-9d70d167f6ab",
  "response_id": "ac91f7a8-c1ab-4e28-90a2-4abb4786f95cs",
  "result": {
    "status": "not_found"
  }
}
{
  "state": "finished",
  "request_id": "6ed9f77b-c150-4cdb-adcf-9d70d167f6ab",
  "response_id": null,
  "error": {
    "code": "internal",
    "desc": "Error connecting to SMEV"
  }
}
{
  "error": "request not found"
}
  • state — request status
    • in_progress — in progress
    • finished — completed
  • request_id — the request identifier assigned for SMEV3 (optional)
  • response_id — the response identifier in the SMEV3 system, if a response was received from the agency's information system (MVD)
  • result — processing result (required if state = finished and error = null)
    • status — check result
      • valid — the passport is valid
      • not_found — the passport was not found
      • invalid — the passport is not valid
    • reason — reason the passport is invalid (if status = invalid)
    • date — the date the passport's invalidity was registered (if status = invalid)
  • error — error from the internal service, SMEV, or MVD (required if state = finished and result = null)
    • code — error code (required)
    • desc — error description (required)
    • status_code — HTTP status code from SMEV3 (optional)
    • destname — request field containing the error from SMEV (optional)

Extended passport validity check

This method is used to submit a Russian passport for a validity check with the Ministry of Internal Affairs (MVD) based on extended details.

Verification request

Method: POST

  • Production: https://api.baas.kvell.group/v1/smev3/gismu/rfp-actual-full
  • Stage: https://api.baas.stage.kvell.group/v1/smev3/gismu/rfp-actual-full

Request parameters (JSON)

Name Type Required Description
seriya string (4 digits) Yes Passport series
number string (6 digits) Yes Passport number
issue_date string (format YYYY-MM-DD) No Issue date
issuer_code string (format \d{3}-\d{3} or \d{6}) No Issuing department code
last_name string (up to 64 characters) Yes Last name
first_name string (up to 64 characters) Yes First name
middle_name string (up to 64 characters) Yes, if present Middle name
birth_date string (format YYYY-MM-DD) Yes Date of birth
{
  "seriya": "4998",
  "number": "476351",
  "last_name": "Иванов",
  "first_name": "Иван",
  "middle_name": "Иванович",
  "birth_date": "1993-03-05",
  "issue_date": "2010-10-10",
  "issuer_code": "450-021"
}

Building the signature

The X-Signature signature is generated by concatenating X-Api-Key, json <request body> and secret_key. sha256 is computed from the resulting string:

sha256({x-api-key}{json <request body>}{secret_key})

Request response

{
  "request_id": "9fb12efc-a3d8-4660-87b1-5bcb00f952ef"
}

request_id — request identifier, used to retrieve the result.

Retrieving the check result

Method: GET

  • Production: https://api.baas.kvell.group/v1/smev3/gismu/rfp-actual-full/{request_id}
  • Stage: https://api.baas.stage.kvell.group/v1/smev3/gismu/rfp-actual-full/{request_id}

URL request parameters

Name Data type Required Description
request_id string Yes Request identifier
GET /v1/smev3/gismu/rfp-actual-full/9fb12efc-a3d8-4660-87b1-5bcb00f952ef

Building the signature

The X-Signature signature is generated by concatenating X-Api-Key, request_id and secret_key. sha256 is computed from the resulting string:

sha256({x-api-key}{request_id}{secret_key})

Request response

{
  "state": "in_progress",
  "request_id": "6ed9f77b-c150-4cdb-adcf-9d70d167f6ab",
  "response_id": null
}
{
  "state": "finished",
  "request_id": "6ed9f77b-c150-4cdb-adcf-9d70d167f6ab",
  "response_id": "ac91f7a8-c1ab-4e28-90a2-4abb4786f95cs",
  "result": {
    "status": "invalid",
    "reason": "Expired",
    "date": "2001-01-01"
  }
}
{
  "state": "finished",
  "request_id": "6ed9f77b-c150-4cdb-adcf-9d70d167f6ab",
  "response_id": "ac91f7a8-c1ab-4e28-90a2-4abb4786f95cs",
  "result": {
    "status": "valid"
  }
}
{
  "state": "finished",
  "request_id": "6ed9f77b-c150-4cdb-adcf-9d70d167f6ab",
  "response_id": "ac91f7a8-c1ab-4e28-90a2-4abb4786f95cs",
  "result": {
    "status": "not_found"
  }
}
{
  "state": "finished",
  "request_id": "6ed9f77b-c150-4cdb-adcf-9d70d167f6ab",
  "response_id": "ac91f7a8-c1ab-4e28-90a2-4abb4786f95cs",
  "error": {
    "code": "ACCESS_DENIED",
    "desc": "Access denied"
  }
}
{
  "error": "request not found"
}
  • state — request status:
    • in_progress — in progress
    • finished — completed
  • request_id — the request identifier assigned for SMEV3 (optional)
  • response_id — the response identifier in the SMEV3 system, if a response was received from the agency's information system (MVD)
  • result — processing result (required if state = finished and error = null)
    • status — check result
      • valid — the passport is valid
      • not_found — the passport was not found
      • invalid — the passport is not valid
    • reason — reason the passport is invalid (if status = invalid)
    • date — the date the passport's invalidity was registered (if status = invalid)
  • error — error from the internal service, SMEV, or MVD (required if state = finished and result = null)
    • code — error code (required)
    • desc — error description (required)
    • status_code — HTTP status code from SMEV3 (optional)
    • destname — request field containing the error from SMEV (optional)