Signicat · Schema
Process
Assure Process
CompanyDigital IdentityAuthenticationE-SignatureKYCIdentity VerificationeIDFraud Prevention
Properties
| Name | Type | Description | ||
|---|---|---|---|---|
| processId | string | processId is obtained from the "Create process" response body. |
||
| provider | string | The ID of one of the supported providers. |
||
| processType | string | The process type created from the provider. | ||
| status | string | The current status of the the identity document verification process. For more information about what each status means, see the failReason | object | |
| depictions | array | This field displays a list of available image types ("back", "front", "selfie", "portrait") representing the files stored in a process during its creation. This tells you which images you can get from | ||
| finalResult | object | The element in this area is only present if the verification was accepted. The elements in this node depend on the document/provider/processType that was used in the process creation. |
||
| providerSpecific | object | Contains information retrieved by the provider. Inner elements will differ depending on the provider | ||
| redactionRequested | boolean | This field only applies to the 'signicatpaper' provider. The flag is set to true if the redaction was requested. | ||
| statusReasons | array | Warning: This is a beta feature. This field is only available for signicatpictureid provider. It contains a list of reasons of why a process status had an inconclusive or | ||
| createdAt | string | The date and time the process was created (ISO-8601 with UTC: YYYY-MM-DDThh:mm:ssZ). | ||
| updatedAt | string | The date and time the process was updated (ISO-8601 with UTC: YYYY-MM-DDThh:mm:ssZ). |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/signicat/main/json-schema/signicat-process-schema.json",
"title": "Process",
"description": "Assure Process",
"x-generated": "2026-10-18",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/signicat-id-document-and-biometric-verification-openapi.yml#/components/schemas/Process",
"type": "object",
"properties": {
"processId": {
"type": "string",
"description": "<code>processId</code> is obtained from the \"Create process\" response body."
},
"provider": {
"type": "string",
"description": "The ID of one of the supported providers.<br>"
},
"processType": {
"type": "string",
"description": "The process type created from the provider."
},
"status": {
"type": "string",
"description": "The current status of the the identity document verification process. For more information about what each status means, see the <a href=\"https://developer.signicat.com/docs/id-document-and-biometric-verification/services/process/#status\">Get process</a> page in the integration documentation.",
"enum": [
"pending",
"processing",
"accepted",
"rejected",
"canceled",
"failed",
"inconclusive"
]
},
"failReason": {
"$ref": "#/$defs/Process_failReason"
},
"depictions": {
"type": "array",
"description": "This field displays a list of available image types (\"back\", \"front\", \"selfie\", \"portrait\") representing the files stored in a process during its creation. This tells you which images you can get from a process. By knowing this you can avoid unnecessary calls to the <a href=\"https://developer.signicat.com/apis/id-document-and-biometric-verification/#tag/Processes/operation/getImages\">Get image </a> endpoint, trying to get images that do not exist in the process.\nNotes:\n<ul><li>The field will only exist for processes with a <a href=\"https://developer.signicat.com/docs/id-document-and-biometric-verification/services/process/#final\">final status</a>.</li><li>If the process is <a href=\"https://developer.signicat.com/docs/id-document-and-biometric-verification/services/process/#final\">finished</a> and contains no images, the field will contain an empty array. Ex: \"depictions\": [].</li><li>All depictions of images that exist in the process will appear in this list, including images that might have been redacted by request (to which you will get an HTTP 403 UNAUTHORIZED if you try to <a href=\"https://developer.signicat.com/apis/id-document-and-biometric-verification/#tag/Processes/operation/getImages\"retrieve them using >Get Image</a>, as usual)</li></ul>",
"enum": [
"front",
"back",
"selfie",
"portrait"
],
"items": {
"type": "string"
}
},
"finalResult": {
"$ref": "#/$defs/FinalResultDetails",
"description": "The element in this area is only present if the verification was <b>accepted</b>.<br>The elements in this node depend on the document/provider/processType that was used in the process creation."
},
"providerSpecific": {
"$ref": "#/$defs/ProviderDetails",
"description": "Contains information retrieved by the provider. Inner elements will differ depending on the provider"
},
"redactionRequested": {
"type": "boolean",
"description": "This field only applies to the 'signicatpaper' provider. The flag is set to true if the redaction was requested."
},
"statusReasons": {
"type": "array",
"description": "<b>Warning</b>: This is a beta feature.<br>This field is only available for <b>signicatpictureid</b> provider.<br>It contains a list of reasons of why a process status had an <b>inconclusive</b> or <b>rejected</b> state.",
"items": {
"$ref": "#/$defs/StatusReason"
}
},
"createdAt": {
"type": "string",
"description": "The date and time the process was created (ISO-8601 with UTC: YYYY-MM-DDThh:mm:ssZ)."
},
"updatedAt": {
"type": "string",
"description": "The date and time the process was updated (ISO-8601 with UTC: YYYY-MM-DDThh:mm:ssZ)."
}
},
"$defs": {
"BBox": {
"type": "object",
"properties": {
"x": {
"type": "integer",
"format": "int32",
"description": "Coordinate from the '<b>x</b>' axis where the bounding box starts."
},
"y": {
"type": "integer",
"format": "int32",
"description": "Coordinate from the '<b>y</b>' axis where the bounding box starts."
},
"width": {
"type": "integer",
"format": "int32",
"description": "Width of the bounding box."
},
"height": {
"type": "integer",
"format": "int32",
"description": "Height of the bounding box."
}
}
},
"DataIntegrity": {
"description": "Ensures the data integrity of the document is intact by checking the MRZ control digits.",
"properties": {
"name": {
"type": "string",
"writeOnly": true
},
"passed": {
"type": "boolean",
"writeOnly": true
},
"valid": {
"type": "boolean",
"description": "Returns information on the multiple security checks that were performed."
}
}
},
"DocumentVerification": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "Provides the first name in the ID document, including any initials and middle names."
},
"lastName": {
"type": "string",
"description": "The last name(s)."
},
"gender": {
"type": "string",
"description": "The person's gender."
},
"nationality": {
"type": "string",
"description": "End-user’s nationality (country code in ISO 3166 Alpha 3 format)."
},
"dateOfBirth": {
"type": "string",
"description": "End-user’s date of birth (YYYY-MM-DD)."
},
"documentType": {
"type": "string",
"description": "Document type."
},
"documentNumber": {
"type": "string",
"description": "Document identification number."
},
"taxNumber": {
"type": "string",
"description": "Tax number."
},
"dateOfExpiry": {
"type": "string",
"description": "Document expiry date (YYYY-MM-DD)."
},
"issuingCountry": {
"type": "string",
"description": "The issuing country (ISO 3166 Alpha 3) of the document. "
},
"dateOfIssue": {
"type": "string",
"description": "The date the document was issued (YYYY-MM-DD)."
},
"issuingState": {
"type": "string",
"description": "The issuing state of the document"
},
"issuingAuthority": {
"type": "string",
"description": "Issuing authority of the document"
},
"placeOfBirth": {
"type": "string",
"description": "The end-user's place of birth."
},
"personalIdentificationNumber": {
"type": "string",
"description": "The personal ID number in the document."
},
"mrzLine1": {
"type": "string",
"description": "Document’s mrz line 1."
},
"mrzLine2": {
"type": "string",
"description": "Document’s mrz line 2."
},
"mrzLine3": {
"type": "string",
"description": "Document’s mrz line 3."
},
"subResult": {
"type": "string",
"description": "This field indicates a more detailed result for document reports. The available values are:<ul><li>`clear`: All underlying verifications have passed. </li><li>`rejected`: The report has returned information that stops any further processing (poor quality image or an unsupported document).</li><li>`suspected`: The analysed document is suspected to be fraudulent.</li><li>`caution`: The report has returned information that needs to be evaluated.</li></ul>"
},
"ageValidation": {
"type": "string",
"description": "Asserts whether the age calculated from the date of birth, is greater than or equal to the minimum acceptable age set at the account level. The standard threshold is 16 years old but you can get Signicat Support to change this for you. Available values are `clear` and `consider`."
},
"policeRecord": {
"type": "string",
"description": "Asserts whether the document has been identified as lost, stolen or otherwise compromised. The available values are `clear` and `consider`."
},
"dataConsistency": {
"type": "string",
"description": "Asserts whether data represented in multiple places in the document is consistent, for example, between MRZ and OCR extracted text on passports. Validated elements are date of expiry, document type, gender, date of birth, nationality, issuing country, document numbers, first name and last name.The available values are `clear` and `consider`."
},
"dataValidation": {
"type": "string",
"description": "Asserts whether algorithmic validated elements are correct. For example, MRZ lines, document expiry date and document numbers. The available values are `clear` and `consider`."
},
"imageIntegrity": {
"type": "string",
"description": "Asserts whether the document was of sufficient quality to verify. The available values are `clear` and `consider`."
},
"dataComparison": {
"type": "string",
"description": "Asserts whether the elements provided by the end-user match the information in the document, i.e. first name, last name, gender and date of birth. The available values are `clear` and `consider`."
},
"faceComparison": {
"type": "string",
"description": "Asserts whether the face in the document matches the face in the selfie/video.<br>The available values are `clear` and `consider`."
},
"compromisedDocument": {
"type": "string",
"description": "Asserts whether the image of the document is found in Onfido's internal database of compromised documents. The available values are `clear` and `consider`."
},
"result": {
"type": "string",
"description": "This field indicates the overall result of a report. The available values are:<ul><li>`clear`: All underlying verifications have passed. </li><li>`consider`: The report has returned information that needs to be evaluated.</li><li>`unidentified`: This is returned if the applicant fails an identity check.</li></ul>"
},
"spouseName": {
"type": "string",
"description": "The spouse name. (will only appear in the response if the field exists and is extracted by the provider)"
},
"widowName": {
"type": "string",
"description": "The widow name. (will only appear in the response if the field exists and is extracted by the provider)"
},
"aliasName": {
"type": "string",
"description": "The alias name. (will only appear in the response if the field exists and is extracted by the provider)"
},
"driversLicense": {
"type": "boolean",
"description": "True when determined to be a non-restricted driving licence (applicant older than 18 years, and no restricted categories detected in the licence title)"
},
"restrictedLicence": {
"type": "boolean",
"description": "True for limited/restricted driving licences, including learner's permits"
},
"rawLicenceCategory": {
"type": "string",
"description": "Underlying, non-normalised, licence category (e.g. \"Junior operators license\")"
},
"rawVehicleClasses": {
"type": "string",
"description": "Comma-separated vehicle classes that the user is qualified for"
},
"vehicleClassDetails": {
"type": "array",
"description": "Detailed classes/categories information",
"items": {
"$ref": "#/$defs/VehicleClass"
}
},
"manualTransmissionRestriction": {
"type": "boolean",
"description": "True if the user is not qualified to drive a manual transmission"
},
"passengerVehicle": {
"$ref": "#/$defs/PassengerVehicle",
"description": "Normalised data for passenger cars"
},
"breakdowns": {
"type": "object",
"additionalProperties": {},
"description": "Contains detailed information on each verification performed by Onfido over the document. For more info, please refer to <a href=\"https://documentation.onfido.com/guide/document-report/#document-report\">https://documentation.onfido.com/guide/document-report/#document-report</a>."
},
"visualAuthenticity": {
"type": "string",
"description": "Asserts whether visual (non-textual) elements are correct given the type of document, for example:<ul><li>Is it a photo of a printed photo or of a digital screen (may be configured to map to caution)?</li><li>Has the document been digitally tampered, e.g. is the name altered? </li><li>Does the pictures of the person in the ID document show signs of tampering or alteration. In most cases, this will focus on the primary picture. It may also apply to the secondary and tertiary pictures when documents contain them.</li><li>Are security features expected in the ID document missing or wrong? </li><li>Does the document match the expected template for the document type and country? </li><li>Do the fonts in the document match the expected ones.? </li></ul>The available values are `clear` and `consider`."
}
}
},
"EIDSecurityChecks": {
"type": "object",
"properties": {
"nonExpired": {
"$ref": "#/$defs/NonExpired"
},
"notUnderage": {
"$ref": "#/$defs/NotUnderage"
},
"dataIntegrity": {
"$ref": "#/$defs/DataIntegrity"
},
"liveness": {
"$ref": "#/$defs/Liveness"
},
"sidesMatch": {
"$ref": "#/$defs/SidesMatch"
},
"notBWCopy": {
"$ref": "#/$defs/NotBWCopy"
},
"notFaceSpoofing": {
"$ref": "#/$defs/NotFaceSpoofing"
},
"untamperedDocument": {
"$ref": "#/$defs/UntamperedDocument"
},
"untamperedVideo": {
"$ref": "#/$defs/untamperedVideo"
},
"deviceSecurity": {
"$ref": "#/$defs/deviceSecurity"
},
"reflectiveSurface": {
"$ref": "#/$defs/reflectiveSurface"
},
"documentTilt": {
"$ref": "#/$defs/documentTilt"
}
}
},
"FaceScanSecurityChecks": {
"type": "object",
"properties": {
"auditTrailVerificationCheckSucceeded": {
"type": "boolean",
"description": "Checks if the audit trail image comes from the same session as the face scan (true or false)."
},
"replayCheckSucceeded": {
"type": "boolean",
"description": "Checks that the face scan does not exist in the database."
},
"faceScanLivenessCheckSucceeded": {
"type": "boolean",
"description": "Checks if the liveness check succeeded."
},
"sessionTokenCheckSucceeded": {
"type": "boolean",
"description": "Checks if the session token is valid, and not expired."
}
}
},
"FacetecLivenessResult": {
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Indicates whether an error occurred during the liveness verification (true) or not (false)."
},
"success": {
"type": "boolean",
"description": "Indicates whether the liveness verification ended successfully (true) or not (false)."
},
"faceScanSecurityChecks": {
"$ref": "#/$defs/FaceScanSecurityChecks",
"description": "This object presents the results of the different security checks performed during the liveness scan."
}
}
},
"FacetecMatchingAttempt": {
"type": "object",
"properties": {
"matchLevel": {
"type": "integer",
"format": "int32",
"description": "This is the match level between the face in the image and the face in the face map. The available values are (FAR = false acceptance rate):<br><ul><li>8 - 1/1,000,000 FAR</li><li>7 - 1/500,000 FAR</li><li>6 - 1/100,000 FAR</li><li>5 - 1/10,000 FAR</li><li>4 - 1/1,000 FAR</li><li>3 - 1/500 FAR</li><li>2 - 1/250 FAR</li><li>1 - 1/100 FAR</li><li>0 - Non-match</li></ul>The possible values depend on the matching algorithm that was used:<br><ul><li><b>facePortrait</b>: 0 to 8</li><li><b>idPhoto</b>:0 to 7</li><li><b>idPhotoLowQuality</b>: 0 to 5</li></ul>"
},
"imageProcessing": {
"type": "string",
"description": "This field describes the quality of the image that was used in the matching.<br>The available values are:<br><ul><li>`faceFound`: The face was found.</li><li>`invalidImage`: The image was not valid.</li><li>`faceDetectionIssue`: There was an issue detecting the face in the image.</li><li>`lowQuality`: The image has insufficient quality.</li></ul>",
"enum": [
"faceFound",
"invalidImage",
"faceDetectionIssue",
"lowQuality"
]
},
"success": {
"type": "boolean",
"description": "Indicates whether the matching was successful (true) or not (false)."
},
"error": {
"type": "boolean",
"description": "Indicates whether an error occurred during the matching verification (true) or not (false)."
}
}
},
"FacetecMatchingResult": {
"type": "object",
"properties": {
"attempts": {
"type": "array",
"description": "This is a list of all attempts at matching the face/document image with FaceTec's face map. It will contain minimum 1 attempt and maximum 3. Each attempt uses a different matching algorithm in the following order:<br><ul><li>The first attempt uses the '<b>facePortrait</b>' algorithm.</li><li>The second attempt uses the '<b>idPhoto</b>' algorithm.</li><li>The third attempt uses the '<b>idPhotoLowQuality</b>' algorithm.</li></ul>",
"items": {
"$ref": "#/$defs/FacetecMatchingAttempt"
}
},
"matchLevel": {
"type": "integer",
"format": "int32",
"description": "This is the match level between the face in the image and the face in the face map. The available values are (FAR = false acceptance rate):<br><ul><li>8 - 1/1,000,000 FAR</li><li>7 - 1/500,000 FAR</li><li>6 - 1/100,000 FAR</li><li>5 - 1/10,000 FAR</li><li>4 - 1/1,000 FAR</li><li>3 - 1/500 FAR</li><li>2 - 1/250 FAR</li><li>1 - 1/100 FAR</li><li>0 - Non-match</li></ul>The possible values depend on the matching algorithm that was used:<br><ul><li><b>facePortrait</b>: 0 to 8</li><li><b>idPhoto</b>:0 to 7</li><li><b>idPhotoLowQuality</b>: 0 to 5</li></ul>"
},
"imageProcessing": {
"type": "string",
"description": "This field describes the quality of the image that was used in the matching.<br>The available values are:<br><ul><li>`faceFound`: The face was found.</li><li>`invalidImage`: The image was not valid.</li><li>`faceDetectionIssue`: There was an issue detecting the face in the image.</li><li>`lowQuality`: The image has insufficient quality.</li></ul>",
"enum": [
"faceFound",
"invalidImage",
"faceDetectionIssue",
"lowQuality"
]
},
"success": {
"type": "boolean",
"description": "Indicates whether the matching was successful (true) or not (false)."
},
"error": {
"type": "boolean",
"description": "Indicates whether an error occurred during the matching verification (true) or not (false)."
}
}
},
"FacialSimilarity": {
"type": "object",
"properties": {
"result": {
"type": "string",
"description": "This field indicates the overall result of a report. Possible values can be: <ul><li>`clear`: All underlying verifications have passed. </li><li>`consider`: The report has returned information that needs to be evaluated</li><li>`unidentified`: This is returned if the applicant fails an identity check.</li></ul>",
"enum": [
"clear",
"consider",
"unidentified"
]
},
"imageIntegrity": {
"type": "string",
"description": "Asserts whether the quality of the uploaded files and the content within are sufficient to do a face comparison, for example: <ul><li>If the image of the picture is in colour (may be configured to be rejected if not).</li><li>If a single face of good enough quality is found in both the document image and the selfie/video.</li><li> If the selfie/video is not trustworthy, i.e. may have been digitally tampered from a fake webcam or from other dubious sources.</li><li>If the document image has good enough quality to perform a fraud inspection (for example, if parts of the document are not visible).</li></ul>Possible values are `clear` and `consider`."
},
"faceComparison": {
"type": "string",
"description": "Asserts whether the face in the document matches the face in the selfie/video.<br>Possible values are `clear` and `consider`."
},
"visualAuthenticity": {
"type": "string",
"description": "Asserts whether the person in the selfie or live video is real (not a spoof) and alive (only done for live videos). <br>Possible values are `clear` and `consider`.\" "
},
"similarityScore": {
"type": "string",
"description": "This indicates how similar the two faces are. If the face matching algorithm fails to detect a face, the score property will not be present. The score only measures how similar the faces are, and does not assess the nature of the photo or video. If tampering (such as photos of printed photos or photos of digital screens) is detected, the end-user is rejected regardless of the facial similarity score. Possible values are `high`, `medium`, `low` or `veryLow`. Onfido originally returns a floating point number between 0 and 1 that expresses how similar the two faces are, where 1 is a perfect match. Assure normalizes that value into:<ul><li>`high` if the score is > 0.75.</li><li>`medium` if the score is > 0.5 and <= 0.75.</li><li>`low` if the score is > 0.25 and <= 0.5.</li><li>`veryLow` if the score is <= 0.25.</li></ul>"
},
"breakdowns": {
"type": "object",
"additionalProperties": {},
"description": "Contains detailed information on each verification performed by Onfido regarding the facial similarity. For more info, please refer to <a href=\"https://documentation.onfido.com/guide/facial-similarity-reports/#photo-and-photo-fully-auto\">https://documentation.onfido.com/guide/facial-similarity-reports/#photo-and-photo-fully-auto</a>."
}
}
},
"Feature": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the visual feature in the document."
},
"found": {
"type": "boolean",
"description": "Indicates if the feature was found in the document or not."
},
"bbox": {
"$ref": "#/$defs/BBox",
"description": "Bounding box position where the feature was found. In case the feature is not found, the bounding box will not appear."
},
"side": {
"type": "string",
"description": "Side of the document where the feature is located."
}
}
},
"FinalResultDetails": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "The end-user’s given name."
},
"lastName": {
"type": "string",
"description": "The end-user’s surname."
},
"dateOfExpiry": {
"type": "string",
"description": "The document’s date of expiry (YYYY-MM-DD)."
},
"dateOfBirth": {
"type": "string",
"description": "The end-user’s date of birth (YYYY-MM-DD)."
},
"gender": {
"type": "string",
"description": "The end-user’s gender.",
"enum": [
"M",
"F"
]
},
"nationality": {
"type": "string",
"description": "The end-user’s nationality (country code in ISO 3166 Alpha 3 format)."
},
"documentType": {
"type": "string",
"description": "The document’s type.",
"enum": [
"driversLicense",
"passport",
"identityCard",
"residencePermit",
"workPermit",
"voterId",
"postalIdCard",
"professionalQualificationCard",
"professionalPermit",
"socialSecurity",
"panCard",
"passportCard",
"stateId",
"visa",
"asylumRegistrationCard",
"nationalHealthInsuranceCard",
"aadharCard",
"immigrationStatusDocument",
"indigenousCard",
"municipalityIdentityCard",
"privateOperatorsCard",
"certificateOfSponsorship",
"serviceIdCard",
"taxId"
]
},
"documentNumber": {
"type": "string",
"description": "The document’s number."
},
"issuingCountry": {
"type": "string",
"description": "The document’s issuing country (ISO 3166 Alpha 3)."
},
"similarityScore": {
"type": "string",
"description": "The similarity score between the end-user's face and the photo in the ID. The value indicates the probability of the person in the selfie being the same as the person in the document image. Possible values are: <ul><li>`veryLow`: Very unlikely the same person.</li><li>`low`: Probably not the same person.</li><li>`medium`: Probably the same person.</li><li>`high`: Very likely the same person.</li></ul>To know more about what this score means for each provider, see the `providerSpecific` fields for each provider"
},
"personalIdentificationNumber": {
"type": "string",
"description": "The personal identification number used by the governments of many countries as a means of tracking their citizens."
},
"livenessDetected": {
"type": "boolean",
"description": "Was liveness detected during the process."
},
"placeOfBirth": {
"type": "string",
"description": "The end-user's place of birth."
},
"lastNameSecondLine": {
"type": "string",
"description": "Displays an additional surname (e.g. spouse name) in the second line."
},
"dateOfIssue": {
"type": "string",
"description": "The document’s issuing date (YYYY-MM-DD)."
}
}
},
"Liveness": {
"description": "Ensures there is a living person in front of the camera through a facial expression (smile).",
"properties": {
"name": {
"type": "string",
"writeOnly": true
},
"passed": {
"type": "boolean",
"writeOnly": true
},
"valid": {
"type": "boolean",
"description": "Returns information on the multiple security checks that were performed."
}
}
},
"ManualApproval": {
"type": "object",
"properties": {
"duration": {
"type": "string",
"description": "How long the manual approval process took (number of seconds)."
},
"firstName": {
"type": "string",
"description": "First name(s)."
},
"alternativeFirstName": {
"type": "string",
"description": "Alternative first name(s)."
},
"lastName": {
"type": "string",
"description": "Last name(s)."
},
"alternativeLastName": {
"type": "string",
"description": "Alternative last name(s)."
},
"dateOfExpiry": {
"type": "string",
"description": "Document expiry date (YYYY-MM-DD)."
},
"gender": {
"type": "string",
"description": "The end user's gender."
},
"nationality": {
"type": "string",
"description": "Nationality (country code in ISO 3166 Alpha 3 format)."
},
"documentNumber": {
"type": "string",
"description": "Document number."
},
"issuingCountry": {
"type": "string",
"description": "The country (ISO 3166 Alpha 3) that issued the document."
},
"dateOfBirth": {
"type": "string",
"description": "Date of birth (YYYY-MM-DD)."
},
"birthPlace": {
"type": "string",
"description": "Place of birth."
},
"issuingAuthority": {
"type": "string",
"description": "Issuing Authority."
},
"address": {
"type": "string",
"description": "Address."
},
"personalIdentificationNumber": {
"type": "string",
"description": "The end-user's national identity number."
},
"rejectionReasons": {
"type": "array",
"description": "This field only appears when the status of the process is 'rejected'. Contains the reasons given by the agent to have rejected the identification.<br>The available values are:<pre>{\n \"type\" : \"Environment.CaptchaNotRead\",\n \"message\" : \"It is not evident that the person has read the captcha **captcha** in the video\",\n},\n{\n \"type\" : \"Environment.NotAppropriate\",\n \"message\" : \"There is no evidence of a living person, recognizable in a well-lit environment\",\n},\n{\n \"type\" : \"Document.Aspect\",\n \"message\" : \"There is no evidence of a legal identity document\",\n},\n{\n \"type\" : \"Document.NotSecurityElements\",\n \"message\" : \"Document security features are not identified\",\n},\n{\n \"type\" : \"Document.NotLegible\",\n \"message\" : \"Document data is not legible\",\n},\n{\n \"type\" : \"Document.DoesNotMatchData\",\n \"message\" : \"The front side of the document does not match with the back side\",\n},\n{\n \"type\" : \"Photo.Invalid\",\n \"message\" : \"The characteristics of the photo are not identified with those determined in the protocol\",\n},\n{\n \"type\" : \"Photo.DoesNotMatchPerson\",\n \"message\" : \"The person in the video does not match with the photo in the document\",\n},\n{\n \"type\" : \"Custom.Question\",\n \"message\" : \"Custom question to be filled out by the agent\",\n},\n{\n \"type\" : \"Document.Expired\",\n\t\"message\" : \"Expired Document\",\n},\n{\n \"type\" : \"Person.Underage\",\n \"message\" : \"The person is a minor\",\n}\n</pre>",
"items": {
"$ref": "#/$defs/Reason"
}
},
"videoId": {
"type": "string",
"description": "The id of the video that was sent for the agent to verify (same as \"externalId\")"
},
"verificationId": {
"type": "string",
"description": "Unique id of the agent verification."
},
"verifierId": {
"type": "string",
"description"
# --- truncated at 32 KB (81 KB total) ---
# Full source: https://artifacts.apis.io/signicat/json-schema/signicat-process-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/signicat-process"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.