Skip to content

SNILS Validation

Validates the insured person's full name (last name, first name, and patronymic, if any), date of birth, sex, and SNILS against the records of the mandatory pension insurance system.

The following request headers must be passed in every request:

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.

Check request

Method: POST

  • Production: https://api.baas.kvell.group/v1/smev3/sfr/snils-validation
  • Stage: https://api.baas.stage.kvell.group/v1/smev3/sfr/snils-validation

Request parameters (JSON)

Name Data type Required Description
last_name string (max 100 characters) Yes Last name
first_name string (max 100 characters) Yes First name
middle_name string (max 100 characters) Yes, if present Middle name (patronymic)
birth_date string (format YYYY-MM-DD) Yes Date of birth
snils string (11 digits) Yes SNILS
gender string enum (Male or Female) Yes Gender
{
  "last_name": "Петина",
  "first_name": "Елена",
  "middle_name": "Владимировна",
  "birth_date": "1966-09-12",
  "snils": "02773319862",
  "gender": "Female"
}

Building the signature

The X-Signature signature is built by concatenating X-Api-Key, json <request body>, and secret_key, then taking sha256 of the resulting string:

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

Request response

{
  "request_id": "7663de3c-f5dc-4938-a379-b63834287b8a"
}

request_id — request identifier, used to retrieve the result.

Retrieving the check result

Method: GET

  • Production: https://api.baas.kvell.group/v1/smev3/sfr/snils-validation/{request_id}
  • Stage: https://api.baas.stage.kvell.group/v1/smev3/sfr/snils-validation/{request_id}

URL request parameters

Name Data type Required Description
request_id string Yes Request identifier
GET /v1/smev3/sfr/snils-validation/7663de3c-f5dc-4938-a379-b63834287b8a

Building the signature

The X-Signature signature is built by concatenating X-Api-Key, request_id, and secret_key, then taking sha256 of the resulting string:

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

Request response

{
  "state": "in_progress",
  "request_id": "befe8815-24b0-446b-925c-ea128f39667c",
  "response_id": null
}
{
  "state": "finished",
  "request_id": "befe8815-24b0-446b-925c-ea128f39667c",
  "response_id": "df65dc1c-fc66-41cd-abbd-87218127fbeb",
  "result": {
    "status": "invalid"
  }
}
{
  "state": "finished",
  "request_id": "befe8815-24b0-446b-925c-ea128f39667c",
  "response_id": "df65dc1c-fc66-41cd-abbd-87218127fbeb",
  "result": {
    "status": "valid"
  }
}
{
  "state": "finished",
  "request_id": "befe8815-24b0-446b-925c-ea128f39667c",
  "response_id": "df65dc1c-fc66-41cd-abbd-87218127fbeb",
  "result": {
    "status": "error"
  }
}
{
  "state": "finished",
  "request_id": "6ed9f77b-c150-4cdb-adcf-9d70d167f6ab",
  "response_id": "bef22e25-a2b8-11f0-814c-02ddfa519bd6",
  "error": {
    "code": "ACCESS_DENIED",
    "desc": "Access denied"
  }
}
{
  "error": "request not found"
}
  • state — request status
    • in_progress — being processed
    • finished — completed
  • request_id — assigned request identifier for SMEV3 (optional)
  • response_id — response identifier in the SMEV3 system, if a response was received from the department's information system (SFR)
  • result — processing result (required if state = finished and error = null)
    • status — check result
      • valid — the data matches
      • invalid — the data does not match
      • error — the request to SFR was not processed (retry later)
  • error — error from the internal service, SMEV, or the department's information system (required if state = finished and result = null)
    • code — error code (required)
    • desc — error description (required)
    • status_code — SMEV3 status HTTP code (optional)
    • destname — request field containing the error from SMEV (optional)