{ "openapi": "3.1.0", "info": { "title": "Digital Identity Service API", "version": "1.62.0" }, "servers": [ { "url": "https://dot.innovatrics.com/identity", "description": "Digital Identity Service URL" } ], "paths": { "/api/v1/info": { "get": { "tags": [ "Actuator" ], "summary": "Get application info", "operationId": "info", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "$ref": "#/components/schemas/ActuatorInfo" } } } } } } }, "/api/v1/health": { "get": { "tags": [ "Actuator" ], "summary": "Get application health", "operationId": "health", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "$ref": "#/components/schemas/ActuatorHealth" } } } } } } }, "/api/v1/customers/{id}/trust-evaluation/evaluate": { "put": { "tags": [ "Trust Evaluator" ], "summary": "Evaluate trust factors based on submitted Trust Factor definitions with provided thresholds", "operationId": "evaluateTrustFactors", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TrustEvaluationRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TrustEvaluationResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/selfie": { "get": { "tags": [ "Customer onboarding" ], "summary": "Get customer\u0027s selfie image", "operationId": "getSelfieImage", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCrop" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_PARAMETER", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] }, "put": { "tags": [ "Customer onboarding" ], "summary": "Provide customer\u0027s selfie", "operationId": "createSelfie", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSelfieRequest" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary", "description": "The binary file" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSelfieResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY\n - INVALID_IMAGE", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] }, "delete": { "tags": [ "Customer onboarding" ], "summary": "Delete customer\u0027s selfie", "operationId": "deleteSelfie", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "204": { "description": "No Content" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/selfie/binary": { "put": { "tags": [ "Customer onboarding" ], "summary": "Provide customer\u0027s selfie using request with octet-stream content type.", "operationId": "createSelfieBinary", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary", "description": "The binary file" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSelfieResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY\n - INVALID_IMAGE", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/liveness": { "put": { "tags": [ "Customer onboarding" ], "summary": "Create customer\u0027s liveness", "operationId": "createLiveness", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCustomerLivenessResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] }, "delete": { "tags": [ "Customer onboarding" ], "summary": "Delete customer\u0027s liveness", "operationId": "deleteLiveness", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "204": { "description": "No Content" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/liveness/records/challenge": { "put": { "tags": [ "Customer onboarding" ], "summary": "Create customer\u0027s liveness record challenge", "operationId": "createLivenessRecordChallenge", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LivenessChallengeRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LivenessChallengeResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document": { "put": { "tags": [ "Customer onboarding" ], "summary": "Create customer\u0027s document", "operationId": "createDocument", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateDocumentRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateDocumentResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] }, "delete": { "tags": [ "Customer onboarding" ], "summary": "Delete customer\u0027s document", "operationId": "deleteDocument", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "204": { "description": "No Content" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/pages": { "put": { "tags": [ "Customer onboarding" ], "summary": "Provide customer\u0027s document page", "operationId": "createDocumentPage", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateDocumentPageRequest" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary", "description": "The binary file" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateDocumentPageResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY\n - INVALID_IMAGE", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/pages/binary": { "put": { "tags": [ "Customer onboarding" ], "summary": "Provide customer\u0027s document page using request with octet-stream content type.", "operationId": "createDocumentPageBinary", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary", "description": "The binary file" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateDocumentPageResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY\n - INVALID_IMAGE", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/chip/data": { "get": { "tags": [ "Customer onboarding" ], "summary": "Get customer\u0027s document chip raw data", "operationId": "getDocumentChipData", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetDocumentChipDataResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] }, "put": { "tags": [ "Customer onboarding" ], "summary": "Create customer\u0027s document chip data", "operationId": "createDocumentChipData", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary", "description": "The binary file" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateDocumentChipDataResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/chip/challenge": { "put": { "tags": [ "Customer onboarding" ], "summary": "Create customer\u0027s challenge for document chip", "operationId": "createDocumentChipChallenge", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateDocumentChipResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/sessions": { "post": { "tags": [ "Session management" ], "summary": "Create a session", "operationId": "createSession", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSessionRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSessionResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_REQUEST_BODY", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] }, "delete": { "tags": [ "Session management" ], "summary": "Close the session", "operationId": "deleteSession", "parameters": [ { "name": "x-inn-session-token", "in": "header", "description": "Session token as Base64 text", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "204": { "description": "No Content" } }, "security": [ { "api": [] } ] } }, "/api/v1/palms": { "post": { "tags": [ "Palm operations" ], "summary": "Create a palm from the photo", "operationId": "createPalm", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatePalmRequest" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary", "description": "The binary file" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatePalmResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY\n - INVALID_IMAGE", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/palms/{probe_palm_id}/similarity": { "post": { "tags": [ "Palm operations" ], "summary": "Match the probe palm to the reference palm", "operationId": "checkPalmSimilarity", "parameters": [ { "name": "probe_palm_id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "Request to compare the similarity of a palm against a reference palm. You must provide either `referencePalm` or `referencePalmTemplate`. If both or neither are provided, a 400 Bad Request error is returned.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PalmSimilarityRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PalmSimilarityResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/palms/{id}/inspect": { "post": { "tags": [ "Palm operations" ], "summary": "Inspect palm", "operationId": "inspectPalm", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PalmInspectResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/palms/binary": { "post": { "tags": [ "Palm operations" ], "summary": "Create a palm from the photo using request with octet-stream content type.", "operationId": "createPalmBinary", "requestBody": { "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary", "description": "The binary file" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatePalmResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY\n - INVALID_IMAGE", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces": { "post": { "tags": [ "Face operations" ], "summary": "Create a face from the photo (face detection)", "operationId": "detectFace", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateFaceRequest" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary", "description": "The binary file" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateFaceResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_REQUEST_BODY\n - INVALID_IMAGE\n - FACE_SIZE_MEMORY_LIMIT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces/{probe_face_id}/similarity": { "post": { "tags": [ "Face operations" ], "summary": "Match the probe face to the reference face", "operationId": "checkSimilarity", "parameters": [ { "name": "probe_face_id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "Request to compare the similarity of a face against a reference face. You must provide either `referenceFace` or `referenceFaceTemplate`. If both or neither are provided, a 400 Bad Request error is returned.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FaceSimilarityRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FaceSimilarityResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_REQUEST_BODY\n - INVALID_IMAGE\n - UNSUPPORTED_VERSION_TEMPLATE\n - CORRUPTED_TEMPLATE\n - INCOMPATIBLE_TEMPLATE", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces/binary": { "post": { "tags": [ "Face operations" ], "summary": "Create a face from the photo (face detection) using request with octet-stream content type.", "operationId": "detectFaceBinary", "requestBody": { "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary", "description": "The binary file" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateFaceResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_REQUEST_BODY\n - INVALID_IMAGE\n - FACE_SIZE_MEMORY_LIMIT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers": { "post": { "tags": [ "Customer onboarding" ], "summary": "Create a customer", "operationId": "createCustomer", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCustomerResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}": { "get": { "tags": [ "Customer onboarding" ], "summary": "Get the customer", "operationId": "getCustomer", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetCustomerResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] }, "post": { "tags": [ "Customer onboarding" ], "summary": "Create a customer with a custom UUIDv4", "operationId": "createCustomerWithUuid", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCustomerResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Unprocessable request\n\nPossible error codes:\n - ALREADY_EXISTS", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] }, "delete": { "tags": [ "Customer onboarding" ], "summary": "Delete the customer", "operationId": "deleteCustomer", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "204": { "description": "No Content" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/store": { "post": { "tags": [ "Trust Platform" ], "summary": "Store customer in the Trust Platform", "operationId": "storeInTrustPlatform", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerStoreRequest" } } }, "required": true }, "responses": { "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "204": { "description": "No Content" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/liveness/selfies": { "post": { "tags": [ "Customer onboarding" ], "summary": "Provide customer\u0027s liveness selfie", "operationId": "createLivenessSelfie", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCustomerLivenessSelfieRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCustomerLivenessSelfieResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY\n - INVALID_IMAGE", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/liveness/selfies/retrieve": { "post": { "tags": [ "Customer onboarding" ], "summary": "Retrieves customer\u0027s liveness selfies and liveness record selfies of given LivenessType", "operationId": "retrieveLivenessSelfiesAndRecords", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RetrieveLivenessSelfiesRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RetrieveLivenessSelfiesResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/liveness/records": { "post": { "tags": [ "Customer onboarding" ], "summary": "Provide customer\u0027s liveness record", "operationId": "createLivenessRecord", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary", "description": "The binary file" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCustomerLivenessRecordResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY\n - INVALID_IMAGE", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/liveness/evaluation": { "post": { "tags": [ "Customer onboarding" ], "summary": "Evaluate customer\u0027s liveness", "operationId": "evaluateLiveness", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EvaluateCustomerLivenessRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EvaluateCustomerLivenessResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/liveness/evaluation/extended": { "post": { "tags": [ "Customer onboarding" ], "summary": "Evaluate customer\u0027s extended liveness", "operationId": "evaluateExtendedLiveness", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EvaluateExtendedLivenessRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EvaluateExtendedLivenessResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_BODY", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/inspect": { "post": { "tags": [ "Customer onboarding" ], "summary": "Inspect customer", "operationId": "inspect", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerInspectResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/inspect/disclose": { "post": { "tags": [ "Customer onboarding" ], "summary": "Disclose customer inspection", "operationId": "inspectDisclose", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerInspectDiscloseResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/inspect": { "post": { "tags": [ "Customer onboarding" ], "summary": "Inspect customer\u0027s document", "operationId": "documentInspect", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DocumentInspectResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/inspect/disclose": { "post": { "tags": [ "Customer onboarding" ], "summary": "Disclose customer\u0027s document inspection", "operationId": "documentInspectDisclose", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DocumentInspectDiscloseResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "409": { "description": "Conflict\n\nPossible error codes:\n - CONFLICT", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/trust-evaluation/trust-factor-definitions": { "get": { "tags": [ "Trust Evaluator" ], "summary": "Get a list of available Trust Factor definitions", "operationId": "getTrustFactorDefinitions", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TrustFactorDefinitionsResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/palms/{id}/template": { "get": { "tags": [ "Palm operations" ], "summary": "Get the palm\u0027s template", "operationId": "getPalmTemplate", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PalmTemplateResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/metadata": { "get": { "tags": [ "Metadata" ], "summary": "Get metadata", "operationId": "metadata", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DocumentMetadataResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces/{id}/quality": { "get": { "tags": [ "Face operations" ], "summary": "Get the face\u0027s quality", "operationId": "checkQuality", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FaceQualityResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces/{id}/glasses": { "get": { "tags": [ "Face operations" ], "summary": "Check if glasses are present on the face", "operationId": "checkGlasses", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GlassesResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces/{id}/face-template": { "get": { "tags": [ "Face operations" ], "summary": "Get the face\u0027s template", "operationId": "createTemplate", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FaceTemplateResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces/{id}/face-mask": { "get": { "tags": [ "Face operations" ], "summary": "Check if the face is covered by a mask", "operationId": "checkFaceMask", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FaceMaskResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces/{id}/crop": { "get": { "tags": [ "Face operations" ], "summary": "Get the face\u0027s crop", "operationId": "doCrop", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "width", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "height", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCrop" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_PARAMETER", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces/{id}/crop/removed-background": { "get": { "tags": [ "Face operations" ], "summary": "Get the face\u0027s crop with removed background", "operationId": "doCropRemoveBackground", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "width", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "height", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCrop" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_PARAMETER", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces/{id}/crop/coordinates": { "get": { "tags": [ "Face operations" ], "summary": "Get face\u0027s crop coordinates", "operationId": "doCropCoordinates", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CropCoordinatesResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces/{id}/aspects": { "get": { "tags": [ "Face operations" ], "summary": "Get face\u0027s aspects", "operationId": "evaluateAspects", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FaceAspectsResponse" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/liveness/records/{recordId}/selfie": { "get": { "tags": [ "Customer onboarding" ], "summary": "Get customer\u0027s liveness record\u0027s selfie", "operationId": "customerLivenessRecordSelfie", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "recordId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "width", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "height", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCrop" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_PARAMETER", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/signature": { "get": { "tags": [ "Customer onboarding" ], "summary": "Get customer\u0027s document signature", "operationId": "documentSignature", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "width", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "height", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCrop" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_PARAMETER", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/portrait": { "get": { "tags": [ "Customer onboarding" ], "summary": "Get customer\u0027s document portrait", "operationId": "documentPortrait", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "width", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "height", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCrop" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_PARAMETER", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/pages/{page-type}": { "get": { "tags": [ "Customer onboarding" ], "summary": "Get normalized image of the customer\u0027s document page", "operationId": "documentPageCrop", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "page-type", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "width", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "height", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCrop" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_PARAMETER", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/pages/{page-type}/quality": { "get": { "tags": [ "Customer onboarding" ], "summary": "Check quality of the customer\u0027s document page", "operationId": "documentPageQuality", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "page-type", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DocumentPageQuality" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/ghost-portrait": { "get": { "tags": [ "Customer onboarding" ], "summary": "Get customer\u0027s document ghost portrait", "operationId": "documentGhostPortrait", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "width", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "height", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCrop" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_PARAMETER", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/fingerprint": { "get": { "tags": [ "Customer onboarding" ], "summary": "Get customer\u0027s fingerprint from the document", "operationId": "documentFingerprint", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "width", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "height", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCrop" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID\n - INVALID_REQUEST_PARAMETER", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/customers/{id}/document/chip/portrait": { "get": { "tags": [ "Customer onboarding" ], "summary": "Get customer\u0027s document chip portrait", "operationId": "documentChipPortrait", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCrop" } } } }, "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not found\n\nPossible error codes:\n - NOT_FOUND", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } }, "security": [ { "api": [] } ] } }, "/api/v1/palms/{id}": { "delete": { "tags": [ "Palm operations" ], "summary": "Delete the palm", "operationId": "deletePalm", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "204": { "description": "No Content" } }, "security": [ { "api": [] } ] } }, "/api/v1/faces/{id}": { "delete": { "tags": [ "Face operations" ], "summary": "Delete the face", "operationId": "deleteFace", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "description": "Bad request\n\nPossible error codes:\n - INVALID_ID", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "500": { "description": "Internal Server Error\n\nPossible error codes:\n - UNEXPECTED_ERROR", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" }, "204": { "description": "No Content" } }, "security": [ { "api": [] } ] } } }, "components": { "schemas": { "ActuatorInfo": { "type": "object", "description": "The application info", "properties": { "build": { "type": "object", "$ref": "#/components/schemas/BuildInfo" }, "sam": { "type": "object", "$ref": "#/components/schemas/SamInfo" }, "iface": { "type": "object", "$ref": "#/components/schemas/IFaceInfo" } }, "readOnly": true, "required": [ "build", "iface", "sam" ] }, "ActuatorHealth": { "type": "object", "description": "The application health", "properties": { "status": { "type": "string", "$ref": "#/components/schemas/HealthStatus" }, "groups": { "type": "array", "description": "List of health groups exposed by the application.\n\n- `liveness`: JVM process is running and responsive.\n- `readiness`: Application and dependencies are available to handle requests.", "example": [ "liveness", "readiness" ], "items": { "type": "string" }, "readOnly": true }, "components": { "type": "object", "additionalProperties": { "type": "object", "$ref": "#/components/schemas/ComponentStatus" }, "description": "Map of individual health indicators and their current state.\n\n- **Keys**: indicator IDs (e.g., `diskSpace`, `ping`, `redis`, `livenessState`, `readinessState`).\n- **Values**: objects with at least:\n * `status` — one of `UP`, `DOWN`, `OUT_OF_SERVICE`, `UNKNOWN`.\n\nThe set of indicators is environment-dependent and may change across deployments and over time.", "example": { "diskSpace": { "status": "UNKNOWN" }, "livenessState": { "status": "UP" }, "ping": { "status": "UP" }, "readinessState": { "status": "UP" }, "redis": { "status": "UP" }, "ssl": { "status": "DOWN" }, "transactionCountingSystem": { "status": "OUT_OF_SERVICE" }, "countly": { "status": "UP" } }, "readOnly": true } }, "readOnly": true, "required": [ "status" ] }, "BuildInfo": { "type": "object", "description": "The application build info", "properties": { "artifact": { "type": "string", "description": "The application artifact ID", "example": "digital-identity-service", "readOnly": true }, "name": { "type": "string", "description": "The application name", "example": "digital-identity-service", "readOnly": true }, "group": { "type": "string", "description": "The application group ID", "example": "com.innovatrics.dot", "readOnly": true }, "version": { "type": "string", "description": "The application version", "example": "1.0.0", "readOnly": true }, "time": { "type": "string", "format": "date-time", "description": "The application build time in ISO-8601 format", "example": "2025-08-25T12:09:11.550Z", "readOnly": true } }, "readOnly": true, "required": [ "artifact", "group", "name", "version" ] }, "SamInfo": { "type": "object", "description": "The SAM info", "properties": { "version": { "type": "string", "description": "The SAM version", "example": "1.28.1", "readOnly": true } }, "readOnly": true, "required": [ "version" ] }, "IFaceInfo": { "type": "object", "description": "The IFace info", "properties": { "version": { "type": "string", "description": "The IFace version", "example": "4.18.0", "readOnly": true }, "license": { "type": "object", "$ref": "#/components/schemas/IfaceLicense" } }, "readOnly": true, "required": [ "license", "version" ] }, "IfaceLicense": { "type": "object", "description": "The Iface license info", "properties": { "year": { "type": "string", "description": "The license expiration year", "example": "2024", "readOnly": true }, "month": { "type": "string", "description": "The license expiration month", "example": "3", "readOnly": true }, "day": { "type": "string", "description": "The license expiration day", "example": "4", "readOnly": true } }, "readOnly": true, "required": [ "day", "month", "year" ] }, "HealthStatus": { "type": "string", "description": "The overall application health status", "enum": [ "UP", "DOWN" ], "example": "UP", "readOnly": true }, "ComponentHealthStatus": { "type": "string", "description": "The component health status", "enum": [ "UP", "DOWN", "OUT_OF_SERVICE", "UNKNOWN" ], "example": "UP", "readOnly": true }, "ComponentStatus": { "type": "object", "description": "Health indicator of the component", "properties": { "status": { "type": "string", "$ref": "#/components/schemas/ComponentHealthStatus" } }, "readOnly": true, "required": [ "status" ] }, "ScoreConfiguration": { "type": "object", "properties": { "rejectLow": { "type": "number", "format": "float", "description": "Reject, if the value of the Trust Factor is lower than this value.", "writeOnly": true }, "rejectHigh": { "type": "number", "format": "float", "description": "Reject, if the value of the Trust Factor is higher than this value.", "writeOnly": true }, "reviewLow": { "type": "number", "format": "float", "description": "Review, if the value of the Trust Factor is lower than this value.", "writeOnly": true }, "reviewHigh": { "type": "number", "format": "float", "description": "Review, if the value of the Trust Factor is higher than this value.", "writeOnly": true } } }, "TrustEvaluationRequest": { "type": "object", "properties": { "trustFactorDefinitions": { "type": "array", "description": "A list of trust factor definitions to evaluate", "example": [ { "name": "trust_factor_1_name", "type": "SCORE", "scoreConfiguration": { "rejectLow": 0.58, "reviewLow": 0.8 } }, { "name": "trust_factor_2_name", "type": "BOOLEAN", "booleanConfiguration": "REJECT_IF_FALSE" } ], "items": { "$ref": "#/components/schemas/TrustFactorEvaluationDefinitionDTO" }, "writeOnly": true } }, "required": [ "trustFactorDefinitions" ], "writeOnly": true }, "TrustFactorEvaluationDefinitionDTO": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trust factor", "example": "trust_factor_name", "writeOnly": true }, "type": { "type": "string", "description": "The type of the trust factor", "enum": [ "SCORE", "BOOLEAN" ], "example": "SCORE", "writeOnly": true }, "scoreConfiguration": { "$ref": "#/components/schemas/ScoreConfiguration", "description": "Configuration for score type trust factor. Required if the trust factor type is set to \"SCORE\".", "writeOnly": true }, "booleanConfiguration": { "type": "string", "description": "Configuration for boolean type trust factor. Required if the trust factor type is set to\"BOOLEAN\"", "enum": [ "REJECT_IF_TRUE", "REVIEW_IF_TRUE", "REJECT_IF_FALSE", "REVIEW_IF_FALSE" ], "writeOnly": true } }, "required": [ "name", "type" ] }, "Error": { "type": "object", "properties": { "error": { "type": "string", "description": "The error code.", "enum": [ "INVALID_TRUST_FACTOR_DEFINITION" ], "readOnly": true }, "trustFactorName": { "type": "string", "description": "The name of the trust factor that caused the error", "readOnly": true } }, "required": [ "error", "trustFactorName" ] }, "EvaluationResult": { "type": "object", "properties": { "trustFactorName": { "type": "string", "description": "The name of the evaluated trust factor", "readOnly": true }, "result": { "type": "string", "description": "The result of the evaluated trust factor", "enum": [ "REJECT", "REVIEW", "ACCEPT" ], "readOnly": true }, "scoreValue": { "type": "number", "format": "float", "description": "The score value of the evaluated trust factor. Present only if the trust factor type is SCORE", "readOnly": true }, "booleanValue": { "type": "boolean", "description": "The boolean value of the evaluated trust factor. Present only if the trust factor type is BOOLEAN", "readOnly": true } }, "readOnly": true, "required": [ "result", "trustFactorName" ] }, "TrustEvaluation": { "type": "object", "description": "The trust evaluation of the customer.", "properties": { "result": { "type": "string", "description": "The overall result of the trust evaluation", "enum": [ "REJECT", "REVIEW", "ACCEPT" ], "example": "REVIEW", "readOnly": true }, "trustFactorEvaluationResults": { "type": "array", "description": "The list of individual trust factor evaluation results. Can be configured server-side to not be returned", "example": [ { "trustFactorName": "boolean_trust_factor_name", "result": "ACCEPT", "booleanValue": true }, { "trustFactorName": "score_trust_factor_name_2", "result": "REVIEW", "scoreValue": 0.75 }, { "trustFactorName": "score_trust_factor_name_3", "result": "REJECT", "scoreValue": 22.0 } ], "items": { "$ref": "#/components/schemas/EvaluationResult" }, "readOnly": true }, "warnings": { "type": "array", "description": "The list of warnings for individual trust factors", "example": [ { "warning": "UNKNOWN_TRUST_FACTOR_DEFINITION", "trustFactorName": "unknown_trust_factor_name" }, { "warning": "DISABLED_TRUST_FACTOR_DEFINITION", "trustFactorName": "disabled_trust_factor_name" }, { "warning": "MISSING_TRUST_FACTOR_DATA", "trustFactorName": "not_available_trust_factor_name" } ], "items": { "$ref": "#/components/schemas/Warning" }, "readOnly": true }, "errors": { "type": "array", "description": "The list of errors for individual trust factors", "example": [ { "error": "INVALID_TRUST_FACTOR_DEFINITION", "trustFactorName": "invalid_trust_factor_name" } ], "items": { "$ref": "#/components/schemas/Error" }, "readOnly": true } }, "readOnly": true, "required": [ "result" ] }, "TrustEvaluationLinks": { "type": "object", "description": "Links to various resources available for the evaluated customer", "properties": { "customer": { "type": "string", "description": "The link to the customer", "example": "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c", "readOnly": true }, "customerSelfie": { "type": "string", "description": "The link to the customer\u0027s selfie", "example": "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c/selfie", "readOnly": true }, "customerLivenessRecords": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "The list of links to the customer\u0027s liveness records. The map keys represent the liveness types", "example": { "MAGNIFEYE": [ "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c/liveness/records/d89e2761-3501-49a3-92dc-26ca563f1e49/selfie" ], "SMILE": [ "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c/liveness/records/5c327c37-cb45-45fe-9946-7a6a49a88d06/selfie" ] }, "readOnly": true }, "portrait": { "type": "string", "description": "The document\u0027s portrait link", "example": "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c/document/portrait", "readOnly": true }, "ghostPortrait": { "type": "string", "description": "The document\u0027s ghost portrait link", "example": "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c/document/ghost-portrait", "readOnly": true }, "chipPortrait": { "type": "string", "description": "The document\u0027s chip portrait link", "example": "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c/document/chip/portrait", "readOnly": true }, "chipData": { "type": "string", "description": "The document\u0027s chip data link", "example": "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c/document/chip/data", "readOnly": true }, "signature": { "type": "string", "description": "The document\u0027s signature image link", "example": "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c/document/signature", "readOnly": true }, "fingerprint": { "type": "string", "description": "The document\u0027s fingerprint image link", "example": "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c/document/fingerprint", "readOnly": true }, "pages": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The map of links to the document\u0027s pages. The map keys represent page types", "example": { "back": "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c/document/pages/back", "front": "/api/v1/customers/c8da2203-4d44-42e1-9f8c-16df3b653f6c/document/pages/front" }, "readOnly": true } }, "readOnly": true, "required": [ "customer" ] }, "TrustEvaluationResponse": { "type": "object", "properties": { "trustEvaluation": { "$ref": "#/components/schemas/TrustEvaluation", "description": "The trust evaluation of the customer.", "readOnly": true }, "links": { "$ref": "#/components/schemas/TrustEvaluationLinks", "description": "Links to the various resources available for the evaluated customer", "readOnly": true } }, "readOnly": true, "required": [ "links", "trustEvaluation" ] }, "Warning": { "type": "object", "properties": { "warning": { "type": "string", "description": "The warning code.", "enum": [ "UNKNOWN_TRUST_FACTOR_DEFINITION", "DISABLED_TRUST_FACTOR_DEFINITION", "MISSING_TRUST_FACTOR_DATA" ], "readOnly": true }, "trustFactorName": { "type": "string", "description": "The name of the trust factor that caused the warning", "readOnly": true } }, "required": [ "trustFactorName", "warning" ] }, "ErrorResponse": { "type": "object", "description": "Error response", "properties": { "errorCode": { "type": "string", "description": "Error code", "enum": [ "NOT_FOUND", "INVALID_ID", "INVALID_IMAGE", "INVALID_REQUEST_BODY", "INVALID_REQUEST_PARAMETER", "INVALID_REQUEST_METHOD", "CONFLICT", "UNEXPECTED_ERROR", "ALREADY_EXISTS", "DATA_DOWNLOADER_DISABLED", "MALFORMED_URL", "FACE_SIZE_MEMORY_LIMIT", "INCOMPATIBLE_TEMPLATE", "CORRUPTED_TEMPLATE", "UNSUPPORTED_VERSION_TEMPLATE", "DATA_DOWNLOAD_ERROR", "NOT_ENOUGH_DATA", "TOO_MANY_REQUESTS" ], "readOnly": true }, "errorMessage": { "type": "string", "description": "Error detailed description. It\u0027s only informative.", "readOnly": true } }, "readOnly": true, "required": [ "errorCode", "errorMessage" ] }, "CreateSelfieRequest": { "type": "object", "properties": { "image": { "$ref": "#/components/schemas/Image", "writeOnly": true }, "selfieOrigin": { "$ref": "#/components/schemas/LivenessSelfieOrigin", "writeOnly": true } }, "writeOnly": true }, "Image": { "type": "object", "description": "Image provided as Base64 encoded string or via URL. Data or URL have to be provided.", "properties": { "data": { "type": "string", "format": "byte", "description": "Image as Base64 encoded string", "example": "aW1hZ2UK" }, "url": { "type": "string", "description": "Image\u0027s URL", "example": "http://localhost/example.png" } }, "writeOnly": true }, "LivenessSelfieOrigin": { "type": "object", "description": "This allows to link the image from liveness to be selfie photo. Do not upload the photo in Image class in this case.", "properties": { "link": { "type": "string", "description": "The liveness selfie origin link", "example": "/api/v1/customers/65ebc529-50da-43cb-9963-e15fbf524f8e/liveness/records/df0d69e3-9d59-4a8b-82de-510b3950dc39/selfie" } }, "required": [ "link" ], "writeOnly": true }, "CreateSelfieResponse": { "type": "object", "properties": { "detection": { "$ref": "#/components/schemas/FaceDetection", "readOnly": true }, "links": { "$ref": "#/components/schemas/Links", "readOnly": true }, "errorCode": { "type": "string", "description": "The face detection error code.\nPossible values:\n - `NO_FACE_DETECTED`: No face was detected in the provided image.\n - `INVALID_DATA`: The provided image is invalid.", "enum": [ "NO_FACE_DETECTED", "INVALID_DATA" ], "readOnly": true }, "warnings": { "type": "array", "description": "The face detection warningsPossible values:\n - `MULTIPLE_FACES_DETECTED`: More than one face was detected in the provided image.", "items": { "type": "string", "enum": [ "MULTIPLE_FACES_DETECTED" ] }, "readOnly": true }, "additionalData": { "$ref": "#/components/schemas/ResourceData", "readOnly": true } }, "readOnly": true }, "FaceDetection": { "type": "object", "description": "Result of the face detection containing coordinates of rectangle where the face was detected and the confidence score there is a face.", "properties": { "confidence": { "type": "number", "format": "double", "description": "The face detection confidence. Values near 1.0 indicates a high confidence a human face was detected.", "example": 0.34, "maximum": 1, "minimum": 0, "readOnly": true }, "faceRectangle": { "$ref": "#/components/schemas/Roi", "readOnly": true } }, "readOnly": true, "required": [ "confidence", "faceRectangle" ] }, "Links": { "type": "object", "description": "The resource\u0027s links", "properties": { "self": { "type": "string", "description": "The resource\u0027s self link.", "readOnly": true } }, "readOnly": true, "required": [ "self" ] }, "OriginalImage": { "type": "object", "properties": { "data": { "type": "string", "format": "byte", "description": "The original image provided as Base64 encoded string", "readOnly": true } }, "readOnly": true, "required": [ "data" ] }, "Point": { "type": "object", "description": "The point coordinates.", "properties": { "x": { "type": "integer", "format": "int32", "description": "The x-axis coordinate of the point, in pixels", "example": 10, "readOnly": true }, "y": { "type": "integer", "format": "int32", "description": "The y-axis coordinate of the point, in pixels", "example": 20, "readOnly": true } }, "readOnly": true, "required": [ "x", "y" ] }, "ResourceData": { "type": "object", "description": "Additional data for the resource", "properties": { "video": { "$ref": "#/components/schemas/ResourceVideo", "description": "The video snippet recorded during the capture of the resource", "readOnly": true }, "originalImage": { "$ref": "#/components/schemas/OriginalImage", "readOnly": true } }, "readOnly": true }, "ResourceVideo": { "type": "object", "properties": { "data": { "type": "string", "format": "byte", "description": "The video snippet in MP4 format provided as Base64 encoded string", "readOnly": true } }, "readOnly": true, "required": [ "data" ] }, "Roi": { "type": "object", "description": "The region of the interest. The coordinates of the rectangle.", "properties": { "topLeft": { "$ref": "#/components/schemas/Point", "description": "Top left corner of the rectangle", "readOnly": true }, "topRight": { "$ref": "#/components/schemas/Point", "description": "Top right corner of the rectangle", "readOnly": true }, "bottomRight": { "$ref": "#/components/schemas/Point", "description": "Bottom right corner of the rectangle", "readOnly": true }, "bottomLeft": { "$ref": "#/components/schemas/Point", "description": "Bottom left corner of the rectangle", "readOnly": true } }, "readOnly": true, "required": [ "bottomLeft", "bottomRight", "topLeft", "topRight" ] }, "CreateCustomerLivenessResponse": { "type": "object", "properties": { "links": { "$ref": "#/components/schemas/Links", "readOnly": true } }, "readOnly": true, "required": [ "links" ] }, "LivenessChallengeRequest": { "type": "object", "properties": { "type": { "type": "string", "description": "Liveness type for the challenge.", "enum": [ "EYE_GAZE_LIVENESS", "PASSIVE_LIVENESS", "SMILE_LIVENESS", "MAGNIFEYE_LIVENESS", "MULTI_RANGE_LIVENESS" ] } }, "required": [ "type" ], "writeOnly": true }, "ChallengeDetails": {}, "EyeGazeChallengeDetails": { "allOf": [ { "$ref": "#/components/schemas/ChallengeDetails" }, { "type": "object", "properties": { "corners": { "type": "array", "description": "The list of corners - Eye Gaze Positions.", "example": [ "TOP_LEFT", "BOTTOM_RIGHT", "TOP_RIGHT", "BOTTOM_LEFT", "TOP_LEFT" ], "items": { "type": "string", "enum": [ "TOP_LEFT", "TOP_RIGHT", "BOTTOM_LEFT", "BOTTOM_RIGHT" ] }, "readOnly": true } } } ], "description": "The liveness challenge details for the liveness.", "required": [ "corners" ] }, "LivenessChallengeResponse": { "type": "object", "properties": { "details": { "oneOf": [ { "$ref": "#/components/schemas/EyeGazeChallengeDetails" }, { "$ref": "#/components/schemas/MultiRangeLivenessChallengeDetails" } ], "readOnly": true } }, "readOnly": true, "required": [ "details" ] }, "MultiRangeLivenessChallengeDetails": { "allOf": [ { "$ref": "#/components/schemas/ChallengeDetails" }, { "type": "object", "properties": { "challengeSequence": { "type": "array", "description": "The sequence for the liveness challenge.", "items": { "type": "string", "enum": [ "ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE" ] }, "readOnly": true } } } ], "description": "The liveness challenge details for the Multi-range liveness challenge.", "required": [ "challengeSequence" ] }, "CreateDocumentRequest": { "type": "object", "properties": { "advice": { "$ref": "#/components/schemas/DocumentAdvice", "writeOnly": true }, "sources": { "type": "array", "description": "The document sources. The chosen document sources indicate which part of the document should be processed. If the list of sources is not provided in the request, or if it is empty, the server will try to process all of them. \n \nPossible values: \n - `VIZ` (Visual Zone) - read data from text fields and crop image fields (e.g: signature, ghost portrait, fingerprint). \n - `MRZ` (Machine Readable Zone) - parse data from machine-readable zone. \n - `BARCODE` - extract data encoded in barcodes. \n - `DOCUMENT_PORTRAIT` - extract biometric data from document portrait. \n - `GLOBAL_OCR` - parse data from text fields using generic OCR. \n \n For instance, if only MRZ is requested, the document is classified only by MRZ, and only MRZ is recognized and processed.", "items": { "type": "string", "enum": [ "VIZ", "MRZ", "BARCODE", "DOCUMENT_PORTRAIT", "GLOBAL_OCR" ] } }, "authenticityChecks": { "type": "array", "description": "Optional list of authenticity checks to apply. If not provided, all available checks will be used by default.", "example": [ "PRINT_ATTACK", "PORTRAIT_SUBSTITUTION" ], "items": { "type": "string", "enum": [ "PRINT_ATTACK", "SCREEN_ATTACK", "PORTRAIT_SUBSTITUTION" ] } } }, "writeOnly": true }, "DocumentAdvice": { "type": "object", "description": "Advice to the OCR document classification process about expected document type in the uploaded image.", "properties": { "classification": { "$ref": "#/components/schemas/DocumentClassificationAdvice", "writeOnly": true } }, "writeOnly": true }, "DocumentClassificationAdvice": { "type": "object", "description": "Advice to the classification process defining the expected document type, issuing country, edition or type of travel document. This is an optional input. If not provided, classification will try to match among all supported documents.", "properties": { "countries": { "type": "array", "description": "The list of Alpha-3 ISO 3166 country codes", "example": [ "svk", "cze" ], "items": { "type": "string" } }, "types": { "type": "array", "description": "The list of the identity document types", "example": [ "identity-card", "passport" ], "items": { "type": "string" } }, "editions": { "type": "array", "description": "The list of the document editions", "example": [ "2008-2019" ], "items": { "type": "string" } }, "machineReadableTravelDocuments": { "type": "array", "description": "The list of the MRZ types", "example": [ "td1", "td2", "td3" ], "items": { "type": "string" } } }, "writeOnly": true }, "CreateDocumentResponse": { "type": "object", "properties": { "links": { "$ref": "#/components/schemas/Links", "readOnly": true } }, "readOnly": true, "required": [ "links" ] }, "CreateDocumentPageRequest": { "type": "object", "properties": { "image": { "$ref": "#/components/schemas/Image", "writeOnly": true }, "advice": { "$ref": "#/components/schemas/DocumentPageAdvice", "writeOnly": true } }, "required": [ "image" ], "writeOnly": true }, "DocumentPageAdvice": { "type": "object", "description": "The document page processing advice.", "properties": { "classification": { "$ref": "#/components/schemas/DocumentPageClassificationAdvice", "writeOnly": true } }, "writeOnly": true }, "DocumentPageClassificationAdvice": { "type": "object", "description": "Advice to the OCR document classification process about expected document page in the uploaded image. This is optional input. If not provided, classification will try to match both front and back pages. ", "properties": { "pageTypes": { "type": "array", "description": "The list of the page types. Possible values: `front`, `back`.", "example": [ "front", "back" ], "items": { "type": "string" } } }, "required": [ "pageTypes" ], "writeOnly": true }, "CreateDocumentPageResponse": { "type": "object", "properties": { "documentType": { "$ref": "#/components/schemas/DocumentType", "readOnly": true }, "pageType": { "type": "string", "description": "Document\u0027s page type. Possible values: `front`, `back`, `unknown`.", "example": "front", "readOnly": true }, "detection": { "$ref": "#/components/schemas/DocumentDetection", "description": "Detection of document page.", "readOnly": true }, "errorCode": { "type": "string", "description": "The document page processing error code.\n - `NO_CARD_CORNERS_DETECTED` - no document card corners detected in the provided image.\n - `PAGE_DOESNT_MATCH_DOCUMENT_TYPE_OF_PREVIOUS_PAGE` (**DEPRECATED**) - currently uploaded page doesn\u0027t match the document type of the previously uploaded page.\n - `INVALID_DATA` - the provided image is invalid.", "enum": [ "NO_CARD_CORNERS_DETECTED", "PAGE_DOESNT_MATCH_DOCUMENT_TYPE_OF_PREVIOUS_PAGE", "INVALID_DATA" ], "readOnly": true }, "warnings": { "type": "array", "description": "The document page processing warnings.Possible values:\n - `DOCUMENT_TYPE_MISMATCH_BETWEEN_PAGES` - the document type of the currently uploaded page doesn\u0027t match the document type of the previously uploaded page.\n - `PAGE_CLASSIFICATION_CHANGED` - document page classification of the previously submitted page has been changed to match the current page classification.\n - `PORTRAIT_NOT_GUARANTEED_OF_THE_SAME_PERSON` (**DEPRECATED**) - server can’t guarantee that the uploaded pages are from the same document.\n - `MISSING_FRONT_PAGE` - indicates that only BACK page of the double-sided document was uploaded.\n - `DOCUMENT_TYPE_NOT_RECOGNIZED` - the document type is not recognized.", "items": { "type": "string", "enum": [ "DOCUMENT_TYPE_MISMATCH_BETWEEN_PAGES", "PAGE_CLASSIFICATION_CHANGED", "PORTRAIT_NOT_GUARANTEED_OF_THE_SAME_PERSON", "MISSING_FRONT_PAGE", "DOCUMENT_TYPE_NOT_RECOGNIZED" ] }, "readOnly": true }, "links": { "$ref": "#/components/schemas/Links", "readOnly": true }, "additionalData": { "$ref": "#/components/schemas/ResourceData", "readOnly": true } }, "readOnly": true }, "DocumentCoordinates": { "type": "object", "description": "The document\u0027s position in the image. The position is defined by document corner\u0027s coordinates.", "properties": { "topLeftCorner": { "$ref": "#/components/schemas/Point", "readOnly": true }, "topRightCorner": { "$ref": "#/components/schemas/Point", "readOnly": true }, "bottomLeftCorner": { "$ref": "#/components/schemas/Point", "readOnly": true }, "bottomRightCorner": { "$ref": "#/components/schemas/Point", "readOnly": true } }, "readOnly": true, "required": [ "bottomLeftCorner", "bottomRightCorner", "topLeftCorner", "topRightCorner" ] }, "DocumentDetection": { "type": "object", "properties": { "confidence": { "type": "number", "format": "double", "description": "The document\u0027s detection confidence.", "example": 0.8 }, "coordinates": { "$ref": "#/components/schemas/DocumentCoordinates", "readOnly": true }, "cornerOutOfImage": { "type": "boolean", "description": "True if document corners are out of image", "readOnly": true } }, "readOnly": true, "required": [ "confidence", "coordinates", "cornerOutOfImage" ] }, "DocumentType": { "type": "object", "description": "Recognized type of document and issuing country, in case it is recognized.", "properties": { "country": { "type": "string", "description": "The Alpha-3 ISO 3166 country code", "example": "svk", "readOnly": true }, "edition": { "type": "string", "description": "The edition of the document", "example": "2008-2019", "readOnly": true }, "type": { "type": "string", "description": "The identity document type: passport, identity-card,...", "example": "identity-card", "readOnly": true }, "machineReadableTravelDocument": { "type": "string", "description": "ICAO Machine Readable Travel Document (MRTD) Specification", "example": "TD1", "readOnly": true }, "supportLevel": { "type": "string", "description": "The support level of the document. \n - `FULL_SUPPORT` - The document is fully supported, including MRZ extraction and data extraction from the visual zone.\n - `MRZ_EXTRACTION_ONLY` - The document is supported only for MRZ extraction, no data extraction from the visual zone is performed.\n - `NOT_SUPPORTED` - The document is not supported.\n - `GENERIC_SUPPORT` - The document is supported as a generic non-structured document, only generic OCR is performed.", "enum": [ "FULL_SUPPORT", "GENERIC_SUPPORT", "MRZ_EXTRACTION_ONLY", "NOT_SUPPORTED" ], "example": "FULL_SUPPORT", "readOnly": true }, "supportMethod": { "type": "string", "description": "The support method of documents. Only present when supportLevel is `FULL_SUPPORT`. \n - `FULL_TEMPLATE_SUPPORT` - Document is supported with standard OCR training.\n - `GLOBAL_PASSPORT_SUPPORT` - Document is supported as a generic passport.", "enum": [ "GLOBAL_PASSPORT_SUPPORT", "FULL_TEMPLATE_SUPPORT" ], "example": "FULL_TEMPLATE_SUPPORT", "readOnly": true } } }, "CreateDocumentChipDataResponse": { "type": "object", "description": "Results of the creation of customer\u0027s document chip.", "properties": { "links": { "$ref": "#/components/schemas/Links", "readOnly": true }, "errorCode": { "type": "string", "description": "The document chip data processing error codePossible values:\n - `LDS_PARSE_ERROR` - error occurred while parsing the LDS data from the document chip.", "enum": [ "LDS_PARSE_ERROR" ], "readOnly": true } }, "readOnly": true }, "CreateDocumentChipResponse": { "type": "object", "properties": { "challenge": { "type": "string", "format": "byte", "description": "Randomly generated challenge. It is random 8 byte encoded as base64 string", "example": "BNt/LhaZC58\u003d", "readOnly": true } }, "readOnly": true, "required": [ "challenge" ] }, "CreateSessionRequest": { "type": "object", "properties": { "timeout": { "type": "integer", "format": "int32", "description": "The session\u0027s timeout in seconds.", "example": 600, "writeOnly": true } }, "required": [ "timeout" ], "writeOnly": true }, "CreateSessionResponse": { "type": "object", "properties": { "token": { "type": "string", "description": "The session\u0027s token as Base64 encoded string", "readOnly": true } }, "readOnly": true, "required": [ "token" ] }, "Base64ImageDto": { "type": "object", "description": "Image provided as Base64 encoded string.", "properties": { "data": { "type": "string", "format": "byte", "description": "Image as Base64 encoded string", "example": "aW1hZ2UK" } }, "required": [ "data" ], "writeOnly": true }, "CreatePalmRequest": { "type": "object", "properties": { "image": { "$ref": "#/components/schemas/Base64ImageDto", "writeOnly": true } }, "required": [ "image" ], "writeOnly": true }, "CreatePalmResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "The palm\u0027s ID", "readOnly": true }, "detection": { "$ref": "#/components/schemas/PalmDetectionDto", "readOnly": true }, "links": { "$ref": "#/components/schemas/Links", "readOnly": true }, "errorCode": { "type": "string", "description": "The palm detection error code", "enum": [ "MULTIPLE_PALMS_DETECTED", "NO_PALM_DETECTED", "INVALID_DATA" ], "readOnly": true } }, "readOnly": true }, "PalmDetectionDto": { "type": "object", "description": "Result of the palm detection containing coordinates of rectangle where the palm was detected and the confidence score there is a palm.", "properties": { "confidence": { "type": "number", "format": "double", "description": "The palm detection confidence. Values near 1.0 indicates a high confidence a palm was detected.", "example": 0.34, "maximum": 1, "minimum": 0, "readOnly": true }, "palmRectangle": { "$ref": "#/components/schemas/Roi", "readOnly": true } }, "readOnly": true, "required": [ "confidence", "palmRectangle" ] }, "PalmSimilarityRequest": { "type": "object", "properties": { "referencePalm": { "type": "string", "description": "The reference palm link. Do not use the `referencePalmTemplate` in this case.", "example": "/api/v1/palms/ff0d8fb4-be47-4858-b03c-6f21b479c302" }, "referencePalmTemplate": { "type": "string", "format": "byte", "description": "The reference palm template bytes in Base64 format. Do not use the `referencePalm` in this case.", "example": "dGVtcGxhdGU\u003d" } }, "writeOnly": true }, "PalmSimilarityResponse": { "type": "object", "properties": { "score": { "type": "number", "format": "double", "description": "The palm similarity score. The higher score indicates higher similarity of matched palms.", "example": 0.83, "maximum": 1, "minimum": 0, "readOnly": true }, "errorCode": { "type": "string", "description": "The palm matching error code", "enum": [ "PALM_TEMPLATE_VERSION_MISMATCH", "PALM_TEMPLATE_INVALID_DATA", "PALM_TEMPLATE_MATCHING_FAILED" ], "readOnly": true } }, "readOnly": true }, "CaptureInfo": { "type": "object", "properties": { "libVersion": { "type": "string", "description": "The version of the library used to capture the resource.", "example": "8.12.0", "readOnly": true }, "library": { "type": "string", "description": "The platform of the library used to capture the resource.", "enum": [ "ANDROID", "IOS", "WEB" ], "readOnly": true } }, "readOnly": true, "required": [ "library" ] }, "PalmInspectResponse": { "type": "object", "description": "Inspection of the palm resource.", "properties": { "securityInspection": { "$ref": "#/components/schemas/PalmSecurityInspectionDto", "readOnly": true }, "palmInspection": { "$ref": "#/components/schemas/PalmInspectionDto", "readOnly": true } }, "readOnly": true, "required": [ "palmInspection", "securityInspection" ] }, "PalmInspectionDto": { "type": "object", "description": "The palm\u0027s inspection.", "properties": { "liveness": { "$ref": "#/components/schemas/PalmLivenessInspectionDto", "readOnly": true } }, "readOnly": true, "required": [ "liveness" ] }, "PalmLivenessInspectionDto": { "type": "object", "description": "The liveness inspection of the palm.", "properties": { "evaluated": { "type": "boolean", "description": "True if liveness was evaluated on the palm resource.", "readOnly": true }, "score": { "type": "number", "format": "float", "description": "Liveness score of the palm. Available only if the liveness was evaluated.", "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "evaluated" ] }, "PalmSecurityInspectionDto": { "type": "object", "description": "The palm\u0027s security inspection.", "properties": { "videoInjection": { "$ref": "#/components/schemas/PalmVideoInjectionInspectionDto", "readOnly": true } }, "readOnly": true, "required": [ "videoInjection" ] }, "PalmVideoInjectionInspectionDto": { "type": "object", "description": "The video injection inspection of the palm.", "properties": { "evaluated": { "type": "boolean", "description": "True if video injection was evaluated on the palm resource.", "readOnly": true }, "detected": { "type": "boolean", "description": "True if video injection was detected on the palm resource. Only available if video injection was evaluated.", "readOnly": true }, "palmCapture": { "$ref": "#/components/schemas/CaptureInfo", "description": "Additional information about the capture of palm.", "readOnly": true } }, "readOnly": true, "required": [ "evaluated" ] }, "CreateFaceRequest": { "type": "object", "properties": { "image": { "$ref": "#/components/schemas/Image", "writeOnly": true }, "detection": { "$ref": "#/components/schemas/FaceDetectionProperties", "writeOnly": true }, "faceOrigin": { "$ref": "#/components/schemas/CustomerSelfieOrigin", "writeOnly": true } }, "writeOnly": true }, "CustomerSelfieOrigin": { "type": "object", "description": "This allows to link the image from customer selfie or face from the document portrait. Do not upload the photo in Image class in this case and do not set detection properties.", "properties": { "link": { "type": "string", "description": "Either the customer selfie origin link (/api/v1/customers/65ebc529-50da-43cb-9963-e15fbf524f8e/selfie) or the customer document portrait link (/api/v1/customers/65ebc529-50da-43cb-9963-e15fbf524f8e/document/portrait).", "example": "/api/v1/customers/65ebc529-50da-43cb-9963-e15fbf524f8e/selfie" } }, "required": [ "link" ], "writeOnly": true }, "FaceDetectionProperties": { "type": "object", "description": "The face detection properties", "properties": { "mode": { "type": "string", "description": "The face detection mode. The `strict` detection detects face but returns error if multiple faces are detected in the image. The `free` detection detects faces in the image and returns the biggest one with warning if there are multiple faces detected. ", "enum": [ "FREE", "STRICT" ], "example": "FREE" }, "faceSizeRatio": { "$ref": "#/components/schemas/FaceSizeRatio", "writeOnly": true } }, "writeOnly": true }, "FaceSizeRatio": { "type": "object", "description": "The face size ratio configuration. The minimum have to be less then the maximum.", "properties": { "min": { "type": "number", "format": "float", "description": "The minimum face size ratio", "example": 0.05, "maximum": 1.0, "minimum": 0.0 }, "max": { "type": "number", "format": "float", "description": "The maximum face size ratio", "example": 0.5, "maximum": 1.0, "minimum": 0.0 } }, "required": [ "max", "min" ], "writeOnly": true }, "CreateFaceResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "The face\u0027s ID", "readOnly": true }, "detection": { "$ref": "#/components/schemas/FaceDetection", "readOnly": true }, "links": { "$ref": "#/components/schemas/Links", "readOnly": true }, "errorCode": { "type": "string", "description": "The face detection error code. \n \nPossible values: \n- `MULTIPLE_FACES_DETECTED` - multiple faces were detected in the image. \n- `NO_FACE_DETECTED` - no face was detected in the image. \n- `INVALID_DATA` - the provided image is invalid.", "enum": [ "MULTIPLE_FACES_DETECTED", "NO_FACE_DETECTED", "INVALID_DATA" ], "readOnly": true }, "warnings": { "type": "array", "description": "The face detection warnings. \n \nPossible values: \n- `MULTIPLE_FACES_DETECTED` - multiple faces were detected in the image, but the biggest one was selected for processing.", "items": { "type": "string", "enum": [ "MULTIPLE_FACES_DETECTED" ] }, "readOnly": true } }, "readOnly": true }, "FaceSimilarityRequest": { "type": "object", "properties": { "referenceFace": { "type": "string", "description": "The reference face link. Do not use the `referenceFaceTemplate` in this case.", "example": "/api/v1/faces/ff0d8fb4-be47-4858-b03c-6f21b479c302" }, "referenceFaceTemplate": { "type": "string", "format": "byte", "description": "The reference face template bytes in Base64 format. Do not use the `referenceFace` in this case.", "example": "dGVtcGxhdGU\u003d" } }, "writeOnly": true }, "FaceSimilarityResponse": { "type": "object", "properties": { "score": { "type": "number", "format": "double", "description": "The face similarity score. The higher score indicates higher similarity of matched faces.", "example": 0.83, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "CreateCustomerResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "The customer\u0027s ID", "readOnly": true }, "links": { "$ref": "#/components/schemas/Links", "readOnly": true } }, "readOnly": true, "required": [ "id", "links" ] }, "CustomerStoreRequest": { "type": "object", "properties": { "externalId": { "type": "string", "description": "External identifier of the customer (for pairing between Trust Platform and external database), limited to alphanumeric, \u0027.\u0027, \u0027-\u0027 and \u0027_\u0027 characters and maximum length of 64. If not supplied, the UUID of the customer present in the request URL is used instead.", "example": "55bd71d3-12cc-4c15-accd-b6dc8702bf3b", "pattern": "^[a-zA-Z\\d._-]{1,64}$", "writeOnly": true }, "onboardingStatus": { "type": "string", "description": "Onboarding status of the customer to be stored in the Trust Platform. Use the FINISHED status only if you have collected all required data of the customer.", "enum": [ "IN_PROGRESS", "FINISHED" ], "example": "IN_PROGRESS", "writeOnly": true } }, "required": [ "onboardingStatus" ] }, "CreateCustomerLivenessSelfieRequest": { "type": "object", "properties": { "image": { "$ref": "#/components/schemas/Image", "writeOnly": true }, "selfieOrigin": { "$ref": "#/components/schemas/SelfieOrigin", "writeOnly": true }, "assertion": { "type": "string", "description": "Definition of the active liveness challenge that the customer\u0027s face has to display in the provided selfie photo. E.g. if it is expected that the face is looking to top left corner of the screen, assertion EYE_GAZE_TOP_LEFT has to be used.", "enum": [ "EYE_GAZE_TOP_LEFT", "EYE_GAZE_TOP_RIGHT", "EYE_GAZE_BOTTOM_LEFT", "EYE_GAZE_BOTTOM_RIGHT", "SMILE", "NEUTRAL", "FACE_SIZE_ZERO", "FACE_SIZE_ONE", "FACE_SIZE_TWO", "FACE_SIZE_THREE", "FACE_SIZE_FOUR", "FACE_SIZE_FIVE", "NONE" ], "example": "EYE_GAZE_TOP_LEFT" } }, "required": [ "assertion" ], "writeOnly": true }, "SelfieOrigin": { "type": "object", "description": "This allows to link the image already used for customer selfie to be reused as one of the liveness photos, ideal for using the selfie photo for passive liveness. Do not upload the photo in Image class in this case.", "properties": { "link": { "type": "string", "description": "The selfie origin link", "example": "/api/v1/customers/65ebc529-50da-43cb-9963-e15fbf524f8e/selfie" } }, "required": [ "link" ], "writeOnly": true }, "CreateCustomerLivenessSelfieResponse": { "type": "object", "properties": { "errorCode": { "type": "string", "description": "The face detection error code. \nPossible values:\n - `NO_FACE_DETECTED` - no face detected in the provided selfie image.", "enum": [ "NO_FACE_DETECTED" ], "readOnly": true }, "warnings": { "type": "array", "description": "The face detection warnings. \nPossible values:\n - `MULTIPLE_FACES_DETECTED` - multiple faces detected in the provided selfie image.\n - `LOW_QUALITY` - the quality of the selfie does not fully match the requirements for evaluation.", "items": { "type": "string", "enum": [ "MULTIPLE_FACES_DETECTED", "LOW_QUALITY" ] }, "readOnly": true } }, "readOnly": true }, "RetrieveLivenessSelfiesRequest": { "type": "object", "properties": { "type": { "type": "string", "description": "Describes which type of liveness selfies and record liveness selfies should be returned", "enum": [ "EYE_GAZE_LIVENESS", "PASSIVE_LIVENESS", "SMILE_LIVENESS", "MAGNIFEYE_LIVENESS", "MULTI_RANGE_LIVENESS" ], "writeOnly": true } }, "required": [ "type" ] }, "LivenessRecordSelfie": { "type": "object", "properties": { "assertion": { "type": "string", "description": "Assertion of the liveness record selfie.", "enum": [ "EYE_GAZE_TOP_LEFT", "EYE_GAZE_TOP_RIGHT", "EYE_GAZE_BOTTOM_LEFT", "EYE_GAZE_BOTTOM_RIGHT", "SMILE", "NEUTRAL", "NONE", "MAGNIFEYE", "MULTI_RANGE" ], "readOnly": true }, "data": { "type": "string", "format": "byte", "description": "Image as Base64 encoded string.", "readOnly": true } }, "readOnly": true, "required": [ "assertion", "data" ] }, "LivenessSelfie": { "type": "object", "properties": { "assertion": { "type": "string", "description": "Assertion of the liveness selfie.", "enum": [ "EYE_GAZE_TOP_LEFT", "EYE_GAZE_TOP_RIGHT", "EYE_GAZE_BOTTOM_LEFT", "EYE_GAZE_BOTTOM_RIGHT", "SMILE", "NEUTRAL", "FACE_SIZE_ZERO", "FACE_SIZE_ONE", "FACE_SIZE_TWO", "FACE_SIZE_THREE", "FACE_SIZE_FOUR", "FACE_SIZE_FIVE", "NONE" ], "readOnly": true }, "data": { "type": "string", "format": "byte", "description": "Image as Base64 encoded string.", "readOnly": true } }, "readOnly": true, "required": [ "assertion", "data" ] }, "RetrieveLivenessSelfiesResponse": { "type": "object", "properties": { "selfies": { "type": "array", "description": "Liveness selfies uploaded via [/liveness/selfies](#tag/Customer-onboarding/operation/createLivenessSelfie) endpoint", "items": { "$ref": "#/components/schemas/LivenessSelfie" }, "readOnly": true }, "recordSelfies": { "type": "array", "description": "Liveness record selfies uploaded via [/liveness/records](#tag/Customer-onboarding/operation/createLivenessRecord) endpoint", "items": { "$ref": "#/components/schemas/LivenessRecordSelfie" }, "readOnly": true } } }, "CreateCustomerLivenessRecordResponse": { "type": "object", "properties": { "selfie": { "$ref": "#/components/schemas/SelfieFromLivenessRecord", "readOnly": true }, "links": { "$ref": "#/components/schemas/LivenessRecordLinks", "readOnly": true }, "errorCode": { "type": "string", "description": "The face detection error code", "enum": [ "INVALID_DATA" ], "readOnly": true }, "additionalData": { "$ref": "#/components/schemas/ResourceData", "readOnly": true } } }, "LivenessRecordLinks": { "type": "object", "description": "The resource\u0027s links", "properties": { "selfie": { "type": "string", "description": "The resource\u0027s selfie link.", "readOnly": true } }, "readOnly": true, "required": [ "selfie" ] }, "SelfieFromLivenessRecord": { "type": "object", "properties": { "detection": { "$ref": "#/components/schemas/FaceDetection", "readOnly": true } }, "required": [ "detection" ] }, "EvaluateCustomerLivenessRequest": { "type": "object", "properties": { "type": { "type": "string", "description": "Definition of the type of liveness evaluation to be performed on the provided photos. Please, read the chapters \"Passive Liveness\" and \"Active Liveness\" of the DOT documentation.", "enum": [ "EYE_GAZE_LIVENESS", "PASSIVE_LIVENESS", "SMILE_LIVENESS", "MAGNIFEYE_LIVENESS", "MULTI_RANGE_LIVENESS" ], "example": "PASSIVE", "writeOnly": true } }, "required": [ "type" ], "writeOnly": true }, "EvaluateCustomerLivenessResponse": { "type": "object", "description": "Result of the liveness evaluation. Please, read the chapters \"Passive Liveness\" and \"Active Liveness\" of the DOT documentation to evaluate the calculated score.", "properties": { "score": { "type": "number", "format": "double", "description": "The liveness score", "example": 0.8, "maximum": 1, "minimum": 0, "readOnly": true }, "details": { "$ref": "#/components/schemas/LivenessDetails", "description": "Additional information about liveness evaluation", "readOnly": true }, "errorCode": { "type": "string", "description": "The liveness error code. \n Possible values:\n - `NOT_ENOUGH_DATA` - insufficient data provided for a successful liveness evaluation.\n - `INVALID_DATA` - the provided liveness data is invalid.", "enum": [ "NOT_ENOUGH_DATA", "INVALID_DATA" ], "example": "INVALID_DATA", "readOnly": true } }, "readOnly": true }, "LivenessDetails": { "type": "object", "properties": { "faceNotCovered": { "type": "boolean", "description": "True if face on the provided liveness images is not covered.", "example": true, "readOnly": true } } }, "EvaluateExtendedLivenessRequest": { "type": "object", "description": "Definition of the type of extended liveness evaluation to be performed on the provided liveness resources.", "properties": { "type": { "type": "string", "description": "The type of extended liveness that should be evaluated.", "enum": [ "DEEPFAKE" ], "example": "DEEPFAKE", "writeOnly": true }, "livenessResources": { "type": "array", "description": "A set of liveness resources on which the extended liveness evaluation should be performed. At least one liveness resource must be provided.", "example": [ "PASSIVE", "SMILE" ], "items": { "type": "string", "enum": [ "PASSIVE", "SMILE", "EYE_GAZE", "MAGNIFEYE", "MULTI_RANGE" ] }, "minItems": 1, "uniqueItems": true, "writeOnly": true } }, "required": [ "livenessResources", "type" ], "writeOnly": true }, "EvaluateExtendedLivenessResponse": { "type": "object", "properties": { "evaluationOnPassive": { "$ref": "#/components/schemas/LivenessEvaluation", "description": "Evaluation of the extended liveness on PASSIVE liveness resources.", "readOnly": true }, "evaluationOnSmile": { "$ref": "#/components/schemas/LivenessEvaluation", "description": "Evaluation of the extended liveness on SMILE liveness resources.", "readOnly": true }, "evaluationOnEyeGaze": { "$ref": "#/components/schemas/LivenessEvaluation", "description": "Evaluation of the extended liveness on EYE GAZE liveness resources.", "readOnly": true }, "evaluationOnMagnifeye": { "$ref": "#/components/schemas/LivenessEvaluation", "description": "Evaluation of the extended liveness on MAGNIFEYE liveness resources.", "readOnly": true }, "evaluationOnMultiRange": { "$ref": "#/components/schemas/LivenessEvaluation", "description": "Evaluation of the extended liveness on MULTI-RANGE liveness resources.", "readOnly": true } } }, "LivenessEvaluation": { "type": "object", "description": "Evaluation of the extended liveness.", "properties": { "score": { "type": "number", "format": "float", "description": "Extended liveness score.", "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "CustomerInspectResponse": { "type": "object", "properties": { "selfieInspection": { "$ref": "#/components/schemas/SelfieInspection", "readOnly": true }, "security": { "$ref": "#/components/schemas/SecurityInspection", "readOnly": true }, "links": { "$ref": "#/components/schemas/CustomerInspectionLinks", "readOnly": true } }, "readOnly": true }, "CustomerInspectionLinks": { "type": "object", "description": "The customer\u0027s inspection links.", "properties": { "documentInspection": { "type": "string", "description": "The document\u0027s inspection link", "readOnly": true } }, "readOnly": true, "required": [ "documentInspection" ] }, "SecurityInspection": { "type": "object", "description": "The customer\u0027s security inspection.", "properties": { "videoInjection": { "$ref": "#/components/schemas/VideoInjectionInspection", "readOnly": true } }, "readOnly": true, "required": [ "videoInjection" ] }, "SelfieAgeDifferenceWith": { "type": "object", "description": "Difference of the estimated age in years between the customer\u0027s selfie and other data extracted from ID document.", "properties": { "documentPortrait": { "type": "integer", "format": "int32", "description": "The difference in years between the estimated age of a person in the selfie and the estimated age of a person in the document portrait. The age estimated based on the document portrait is adjusted by the age of the document. This attribute is available only if the document\u0027s issue date is available.", "readOnly": true }, "dateOfBirth": { "type": "integer", "format": "int32", "description": "Max difference in years between the estimated age of a person in the selfie and the age extracted from the document\u0027s visual zone and MRZ.", "readOnly": true } }, "readOnly": true }, "SelfieInspection": { "type": "object", "description": "Results of the inspection of customer\u0027s selfie versus document.", "properties": { "similarityWith": { "$ref": "#/components/schemas/SelfieSimilarityWith", "readOnly": true }, "genderEstimate": { "type": "string", "description": "Estimated gender of the customer in the selfie, represented by: M for male, F for female", "example": "F", "readOnly": true }, "genderConsistency": { "$ref": "#/components/schemas/SelfieInspectionGenderConsistency", "readOnly": true }, "ageEstimate": { "type": "integer", "format": "int32", "description": "Estimated age of the customer in the selfie in years.", "example": 32, "readOnly": true }, "ageDifferenceWith": { "$ref": "#/components/schemas/SelfieAgeDifferenceWith", "readOnly": true }, "hasMask": { "type": "boolean", "description": "True if a person in the selfie is wearing a face mask", "example": false, "readOnly": true } }, "readOnly": true }, "SelfieInspectionGenderConsistency": { "type": "object", "description": "Consistency of estimated gender on the selfie with customer\u0027s data extracted from ID document.", "properties": { "documentPortrait": { "type": "boolean", "description": "True if selfie\u0027s gender is consistent with gender from the document\u0027s portrait", "readOnly": true }, "viz": { "type": "boolean", "description": "True if selfie\u0027s gender is consistent with gender from the document\u0027s visual zone", "readOnly": true }, "mrz": { "type": "boolean", "description": "True if selfie\u0027s gender is consistent with gender from the document\u0027s MRZ", "readOnly": true } }, "readOnly": true }, "SelfieSimilarityWith": { "type": "object", "description": "Similarity of the face between the selfie, document portrait and the liveness selfies.", "properties": { "documentPortrait": { "type": "boolean", "description": "True if the person in the selfie matches a person in the document portrait", "example": true, "readOnly": true }, "chipPortrait": { "type": "boolean", "description": "True if the person in the selfie matches a person in the portrait retrieved from the document chip", "example": true, "readOnly": true }, "livenessSelfies": { "type": "boolean", "description": "True if the person in the selfie matches a person in each liveness selfie", "example": true, "readOnly": true } }, "readOnly": true }, "VideoInjectionInspection": { "type": "object", "description": "The video injection inspection.", "properties": { "evaluated": { "type": "boolean", "description": "True if video injection was evaluated on the customer\u0027s resources.", "readOnly": true }, "detected": { "type": "boolean", "description": "True if video injection was detected on the customer\u0027s resources.", "readOnly": true }, "documentCapture": { "type": "array", "description": "List of customer\u0027s video injection captures of document.", "items": { "$ref": "#/components/schemas/CaptureInfo" }, "readOnly": true }, "faceCapture": { "type": "array", "description": "List of customer\u0027s video injection captures of face.", "items": { "$ref": "#/components/schemas/CaptureInfo" }, "readOnly": true } }, "readOnly": true, "required": [ "evaluated" ] }, "CustomerInspectDiscloseResponse": { "type": "object", "properties": { "selfieInspection": { "$ref": "#/components/schemas/SelfieInspectionDisclose", "description": "Results of the inspection of customer\u0027s selfie.", "readOnly": true } }, "readOnly": true }, "DocumentPortraitDisclose": { "type": "object", "description": "Result of the document portrait similarity check.", "properties": { "score": { "type": "number", "format": "float", "description": "The resulting score of the similarity between the user\u0027s selfie and the document portrait.", "example": 0.955, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "LivenessSelfiesDisclose": { "type": "object", "description": "Result of the liveness selfies similarity check.", "properties": { "score": { "type": "number", "format": "float", "description": "The resulting score represents the minimum similarity between the user\u0027s selfie and the liveness selfies.", "example": 0.955, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "SelfieInspectionDisclose": { "type": "object", "properties": { "similarityWith": { "$ref": "#/components/schemas/SelfieSimilarityWithDisclose", "description": "Similarity of the face between the selfie, document portrait and the liveness selfies.", "readOnly": true } }, "readOnly": true }, "SelfieSimilarityWithDisclose": { "type": "object", "properties": { "documentPortrait": { "$ref": "#/components/schemas/DocumentPortraitDisclose", "readOnly": true }, "livenessSelfies": { "$ref": "#/components/schemas/LivenessSelfiesDisclose", "readOnly": true } }, "readOnly": true }, "AgeDifferenceWith": { "type": "object", "description": "Difference of age with particular fields. Only available if a difference has been detected", "properties": { "dateOfBirth": { "type": "integer", "format": "int32", "description": "Max difference with MRZ and VIZ birth date", "example": 7, "readOnly": true } }, "readOnly": true, "required": [ "dateOfBirth" ] }, "BarcodesConsistency": { "type": "object", "description": "The visual zone text consistency with document barcodes", "properties": { "inconsistentTexts": { "type": "array", "description": "All recognized text fields of the visual zone those are inconsistent with barcodes. It works only for unencrypted barcodes that represent text in the same format as in the visual zone.", "items": { "type": "string" }, "readOnly": true } }, "readOnly": true, "required": [ "inconsistentTexts" ] }, "DocumentChipInspection": { "type": "object", "description": "Result of the inspection of the document\u0027s chip.", "properties": { "dataAuthentication": { "type": "string", "description": "Status of the data authentication. \n \n Possible values: \n - `AUTHENTICATED` - the data is authentic. \n - `DENIED` - the data is not authentic. \n - `INVALID_SOD_FILE` - the SOD file is missing or invalid. \n - `INVALID_COM_FILE` - the COM file is missing or invalid. \n - `AUTHORITY_CERTIFICATES_NOT_PROVIDED` - the authority certificates are missing.", "enum": [ "AUTHENTICATED", "DENIED", "INVALID_SOD_FILE", "INVALID_COM_FILE", "AUTHORITY_CERTIFICATES_NOT_PROVIDED" ], "readOnly": true }, "chipAuthentication": { "type": "string", "description": "Status of the chip authentication. \n \n Possible values: \n - `AUTHENTICATED` - the chip data is authentic. \n - `DENIED` - the chip data is not authentic. \n - `MISSING_CHALLENGE` - when the chip authentication used active authentication and the challenge was not provided. \n - `MISSING_SIGNATURE` - when the document chip data sent is missing the signature. \n - `NOT_SUPPORTED` - the chip authentication is not supported.", "enum": [ "AUTHENTICATED", "DENIED", "MISSING_CHALLENGE", "MISSING_SIGNATURE", "NOT_SUPPORTED" ], "readOnly": true }, "chipAuthenticationType": { "type": "string", "description": "Type of chip authentication.", "enum": [ "PACE_CHIP_AUTHENTICATION_MAPPING", "CHIP_AUTHENTICATION", "ACTIVE_AUTHENTICATION" ], "readOnly": true }, "accessControlProtocolType": { "type": "string", "description": "Access Control Protocol used for document chip authentication.", "enum": [ "BAC", "PACE" ], "readOnly": true } }, "readOnly": true }, "DocumentInspectResponse": { "type": "object", "description": "Results of the inspection of customer\u0027s document. Please, read the chapter \"ID Document Authenticity Evaluation\" of the DOT documentation.", "properties": { "expired": { "type": "boolean", "description": "True if the document is expired at the time of the customer\u0027s on-boarding. This attribute is available only if the document\u0027s expiry date is available.", "example": false, "readOnly": true }, "mrzInspection": { "$ref": "#/components/schemas/MrzInspection", "readOnly": true }, "portraitInspection": { "$ref": "#/components/schemas/PortraitInspection", "readOnly": true }, "visualZoneInspection": { "$ref": "#/components/schemas/VisualZoneInspection", "readOnly": true }, "pageTampering": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PageTamperingInspection" }, "description": "Page tampering inspection results for each page of the document. Map keys are page types. Possible values: `front`, `back`, `unknown`.", "readOnly": true }, "chipInspection": { "$ref": "#/components/schemas/DocumentChipInspection", "readOnly": true } }, "readOnly": true }, "MrzConsistency": { "type": "object", "description": "The visual zone text consistency with document MRZ", "properties": { "inconsistentTexts": { "type": "array", "description": "All recognized text fields of visual zone that are inconsistent with MRZ.", "items": { "type": "string" }, "readOnly": true } }, "readOnly": true, "required": [ "inconsistentTexts" ] }, "MrzInspection": { "type": "object", "description": "Result of inspection of MRZ zone on the document, if present. Please, read the chapter \"Machine Readable Zone\" of the DOT documentation.", "properties": { "valid": { "type": "boolean", "description": "True if the document\u0027s MRZ is valid. A valid MRZ has to match the specification and its checksums have to be correct.", "example": true, "readOnly": true } }, "readOnly": true, "required": [ "valid" ] }, "OcrConfidence": { "type": "object", "description": "Confidence of the OCR recognition accuracy of the text fields in the visual inspection zone of the document.", "properties": { "confidence": { "type": "number", "format": "double", "description": "The median of all recognized text fields OCR confidences.", "example": 0.98, "maximum": 1, "minimum": 0, "readOnly": true }, "lowOcrConfidenceTexts": { "type": "array", "description": "All recognized text fields that have OCR confidence below the configurable threshold.", "items": { "type": "string" }, "readOnly": true } }, "readOnly": true, "required": [ "confidence" ] }, "PageTamperingInspection": { "type": "object", "description": "Result of the visual detection indicating possibly fraudulent documents based on the appearance of the image.", "properties": { "colorProfileChangeDetected": { "type": "boolean", "description": "True if there is a significant change in color profile of the submitted document against a supported document (e.g. the supplied photo is in greyscale)", "example": false, "readOnly": true }, "looksLikeScreenshot": { "type": "boolean", "description": "True if the submitted document was detected to be photographed from a screen", "example": false, "readOnly": true }, "tamperedTexts": { "type": "boolean", "description": "True if the submitted document shows signs of text manipulation", "example": false, "readOnly": true }, "looksLikePrintCopy": { "type": "boolean", "description": "True if the submitted document shows signs of Print Copy manipulation. This is an experimental feature released for now as a beta.", "example": false, "readOnly": true } }, "readOnly": true }, "PortraitInspection": { "type": "object", "description": "Result of document portrait inspection, which checks estimated age and gender against other data on the document. Only available if the document portrait is available", "properties": { "genderEstimate": { "type": "string", "description": "Gender estimate from the document portrait", "example": "M", "readOnly": true }, "genderConsistency": { "$ref": "#/components/schemas/PortraitInspectionGenderConsistency", "readOnly": true }, "ageEstimate": { "type": "integer", "format": "int32", "description": "Estimation of age from the document portrait", "example": 42, "readOnly": true }, "ageDifferenceWith": { "$ref": "#/components/schemas/AgeDifferenceWith", "readOnly": true }, "faceNotCovered": { "type": "boolean", "description": "True, if face is not covered in the document portrait", "readOnly": true } }, "readOnly": true }, "PortraitInspectionGenderConsistency": { "type": "object", "description": "Gender consistency between document portrait and document data. Only available if MRZ and VIZ are available for comparison", "properties": { "viz": { "type": "boolean", "description": "True if the gender is consistent with the visual zone. Only available if the visual zone of the document has been processed.", "example": true, "readOnly": true }, "mrz": { "type": "boolean", "description": "True if the gender is consistent with the MRZ. Only available if the document\u0027s MRZ is available", "example": true, "readOnly": true } } }, "TextConsistency": { "type": "object", "description": "Cross-check of the text fields extracted with OCR recognition from the visual inspection zone against the texts extracted from other sources in the document.", "properties": { "consistent": { "type": "boolean", "description": "True if the document\u0027s VIZ is consistent with other document data.", "example": true, "readOnly": true }, "consistencyWith": { "$ref": "#/components/schemas/TextConsistentWith", "readOnly": true } }, "readOnly": true, "required": [ "consistent" ] }, "TextConsistentWith": { "type": "object", "description": "The visual zone text consistency with other document data", "properties": { "mrz": { "$ref": "#/components/schemas/MrzConsistency", "readOnly": true }, "barcodes": { "$ref": "#/components/schemas/BarcodesConsistency", "readOnly": true } }, "readOnly": true }, "VisualZoneInspection": { "type": "object", "description": "The document visual zone inspection result", "properties": { "ocrConfidence": { "$ref": "#/components/schemas/OcrConfidence", "readOnly": true }, "textConsistency": { "$ref": "#/components/schemas/TextConsistency", "readOnly": true } }, "readOnly": true, "required": [ "ocrConfidence" ] }, "ColorProfileChangeDetectedDisclose": { "type": "object", "description": "Result of the color profile difference check.", "properties": { "score": { "type": "number", "format": "float", "description": "The resulting score of the color profile check representing difference between the submitted document and the reference documents (e.g. the supplied photo is in greyscale). The score is normalized to the interval from 0 to 1. Lower the score, higher the color difference between documents.", "example": 0.2345, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "DocumentInspectDiscloseResponse": { "type": "object", "properties": { "pageTampering": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PageTamperingInspectionDisclose" }, "description": "Page tampering inspection results for each page of the document. Map keys are page types. Possible values: `front`, `back`, `unknown`.", "readOnly": true } }, "readOnly": true }, "DocumentPortraitGenuineDisclose": { "type": "object", "description": "Result of the document portrait genuine check.", "properties": { "score": { "type": "number", "format": "float", "description": "The resulting score of the document portrait genuine check on the submitted document. The score is normalized to the interval from 0 to 1. Higher the score, higher the probability of the document portrait being genuine.", "example": 0.2165, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "LooksLikeScreenshotDisclose": { "type": "object", "description": "Result of the screenshot detection check. This is a deprecated field, use `presentationAttackScreenClass` instead.", "properties": { "score": { "type": "number", "format": "float", "description": "The resulting score of the screenshot detection on the submitted document. The score is normalized to the interval from 0 to 1. Lower the score, higher the probability of the document being photographed from the screen.", "example": 0.1455, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "PageTamperingInspectionDisclose": { "type": "object", "description": "Result of the visual detection indicating possibly fraudulent documents based on the appearance of the image.", "properties": { "colorProfileChangeDetected": { "$ref": "#/components/schemas/ColorProfileChangeDetectedDisclose", "readOnly": true }, "looksLikeScreenshot": { "$ref": "#/components/schemas/LooksLikeScreenshotDisclose", "readOnly": true }, "documentPortraitGenuine": { "$ref": "#/components/schemas/DocumentPortraitGenuineDisclose", "readOnly": true }, "tamperedTexts": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/TamperedTextDetectionScore" }, "description": "Results of the tampered text detection check for each text field on the document page. Map keys are text field names.", "example": { "document_number": { "score": 0.2345 }, "last_name": { "score": 0.9876 } }, "readOnly": true }, "presentationAttackDetectionGenuine": { "$ref": "#/components/schemas/PresentationAttackDetectionGenuineDisclose", "readOnly": true }, "presentationAttackScreenClass": { "$ref": "#/components/schemas/PresentationAttackScreenClassDisclose", "readOnly": true }, "presentationAttackPrintClass": { "$ref": "#/components/schemas/PresentationAttackPrintClassDisclose", "readOnly": true } }, "readOnly": true }, "PresentationAttackDetectionGenuineDisclose": { "type": "object", "description": "Result of the document presentation attack check.", "properties": { "score": { "type": "number", "format": "float", "description": "The resulting score of the document presentation attack check on the submitted document. The score is normalized to the interval from 0 to 1. Higher the score, higher the probability of the document portrait being genuine.", "example": 0.2165, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "PresentationAttackPrintClassDisclose": { "type": "object", "description": "Result of the print copy detection check. This is an experimental feature released for now as a beta.", "properties": { "score": { "type": "number", "format": "float", "description": "The resulting score of the print copy detection on the submitted document. The score is normalized to the interval from 0 to 1. Higher the score, higher the probability of the photographed document being a printed copy of the original document.", "example": 0.1455, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "PresentationAttackScreenClassDisclose": { "type": "object", "description": "Result of the screenshot detection check.", "properties": { "score": { "type": "number", "format": "float", "description": "The resulting score of the screenshot detection on the submitted document. The score is normalized to the interval from 0 to 1. Higher the score, higher the probability of the document being photographed from the screen.", "example": 0.1455, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "TamperedTextDetectionScore": { "type": "object", "description": "Result of the document tampered text check.", "properties": { "score": { "type": "number", "format": "float", "description": "The resulting score of the tampered text check for text field on the submitted document. The score is normalized to the interval from 0 to 1. Higher the score, higher the probability of the document texts being genuine.", "example": 0.2165, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "TrustFactorDefinitionDTO": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the trust factor", "example": "trust_factor_name", "readOnly": true }, "type": { "type": "string", "description": "The type of the trust factor", "enum": [ "SCORE", "BOOLEAN" ], "example": "SCORE", "readOnly": true } }, "readOnly": true, "required": [ "name", "type" ] }, "TrustFactorDefinitionsResponse": { "type": "object", "properties": { "trustFactorDefinitions": { "type": "array", "description": "A list of available Trust Factor definitions", "example": { "trustFactorDefinitions": [ { "name": "trust_factor_1_name", "type": "SCORE" }, { "name": "trust_factor_2_name", "type": "BOOLEAN" } ] }, "items": { "$ref": "#/components/schemas/TrustFactorDefinitionDTO" }, "readOnly": true } }, "readOnly": true, "required": [ "trustFactorDefinitions" ] }, "PalmTemplateResponse": { "type": "object", "properties": { "data": { "type": "string", "format": "byte", "description": "The template bytes", "example": "dGVtcGxhdGU\u003d", "readOnly": true }, "version": { "type": "string", "description": "The template version", "example": 1.13, "readOnly": true } }, "readOnly": true, "required": [ "data", "version" ] }, "Document": { "type": "object", "description": "Document metadata", "properties": { "documentType": { "$ref": "#/components/schemas/MetadataDocumentType", "readOnly": true }, "pages": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/PageMetadata" }, "description": "The map of document page\u0027s metadata. The map keys are page types.", "readOnly": true } }, "readOnly": true, "required": [ "documentType", "pages" ], "title": "MetadataDocument" }, "DocumentMetadataResponse": { "type": "object", "description": "Document metadata response", "properties": { "documents": { "type": "array", "description": "The list of document\u0027s metadata", "items": { "$ref": "#/components/schemas/Document" }, "readOnly": true } }, "readOnly": true, "required": [ "documents" ] }, "MetadataDocumentType": { "type": "object", "description": "Document type", "properties": { "country": { "type": "string", "description": "The Alpha-3 ISO 3166 country code", "example": "SVK", "readOnly": true }, "edition": { "type": "string", "description": "The edition", "example": "2008-2019", "readOnly": true }, "type": { "type": "string", "description": "The identity document type: passport, identity-card,...", "example": "identity-card", "readOnly": true }, "machineReadableTravelDocument": { "type": "string", "description": "ICAO Machine Readable Travel Document (MRTD) Specification", "example": "TD1", "readOnly": true } }, "readOnly": true, "required": [ "country", "edition", "machineReadableTravelDocument", "type" ], "title": "MetadataDocumentType" }, "PageMetadata": { "type": "object", "description": "Document page metadata", "properties": { "classificationAdviceRequired": { "type": "boolean", "description": "True if a precise classification advice is required when uploading the document page.", "readOnly": true }, "portrait": { "$ref": "#/components/schemas/Portrait", "readOnly": true }, "visualZone": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/TextField" }, "description": "The map of text field\u0027s metadata. The map keys represent the text field types.", "readOnly": true } }, "readOnly": true, "required": [ "visualZone" ] }, "Portrait": { "type": "object", "description": "Portrait presence", "properties": { "present": { "type": "boolean", "description": "True if the document portrait image field is present", "readOnly": true } }, "readOnly": true, "required": [ "present" ], "title": "MetadataPortrait" }, "TextField": { "type": "object", "description": "Text field metadata", "properties": { "label": { "type": "string", "description": "Label printed on card (if present)", "example": "Surname", "readOnly": true }, "valueNormalized": { "type": "boolean", "description": "True if the value is being normalized", "readOnly": true } }, "readOnly": true, "required": [ "valueNormalized" ], "title": "MetadataTextField" }, "FaceAttribute": { "type": "object", "properties": { "score": { "type": "number", "format": "double", "description": "The face\u0027s attribute score", "example": 0.24, "readOnly": true }, "preconditionsMet": { "type": "boolean", "description": "The flag indicates if the face\u0027s attribute score is reliable.Reliability requires that all preconditions of the face attribute are recursively evaluated and confirmed to be within the ICAO standard ranges.", "example": true, "readOnly": true } }, "readOnly": true, "required": [ "preconditionsMet", "score" ] }, "FaceQualityResponse": { "type": "object", "properties": { "sharpness": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating whether an area of face image is not blurred. Sharpness values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027very blurred\u0027**, values near 1 indicate **\u0027very sharp\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e`", "readOnly": true }, "brightness": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating whether an area of face is correctly exposed. Brightness values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027very dark\u0027**, values near 1 indicate **\u0027very bright\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e`", "readOnly": true }, "contrast": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating whether an area of face is contrast enough. Contrast values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027very low contrast\u0027**, values near 1 indicate **\u0027very high contrast\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e`", "readOnly": true }, "uniqueIntensityLevels": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating whether an area of face has appropriate number of unique intensity levels. Unique intensity levels values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027very few unique intensity levels\u0027**, values near 1 indicate **\u0027enough unique intensity levels\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e`", "readOnly": true }, "shadow": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating whether an area of face is not affected by shadows. Shadow values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027very strong global shadows present\u0027**, values near 1 indicate **\u0027no global shadows present\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e`", "readOnly": true }, "noseShadow": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating whether eyes or a nose don\u0027t cast sharp shadows. Nose shadow values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027very strong local (eyes/nose) shadows present\u0027**, values near 1 indicate **\u0027no local shadows present\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e`", "readOnly": true }, "specularity": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating whether spotlights aren\u0027t present on face. Specularity values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027very strong specular reflections present\u0027**, values near 1 indicate **\u0027no specular reflections present\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e`", "readOnly": true }, "backgroundUniformity": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating whether the background is uniform. Background uniformity values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027very non-uniform background present\u0027**, values near 1 indicate **\u0027uniform background present\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e`", "readOnly": true }, "redRightEye": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating whether red-eye effect is not present on right eye. Right red-eye effect values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027no red-eye effect present\u0027**, values near 1 indicate **\u0027red-eye effect present\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e` \n - Right eye status is within ICAO range `\u003c0.5; 1.0\u003e`", "readOnly": true }, "redLeftEye": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating whether red-eye effect is not present on left eye. Left red-eye effect values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027no red-eye effect present\u0027**, values near 1 indicate **\u0027red-eye effect present\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e` \n - Left eye status is within ICAO range `\u003c0.5; 1.0\u003e`", "readOnly": true }, "roll": { "$ref": "#/components/schemas/HeadPoseAttribute", "description": "Face attribute representing angle rotation of head towards camera reference frame around Z-axis as per DIN9300 standard. The roll angle describes how much the head is tilted sideways. Roll angle values are from range `\u003c-90; 90\u003e`. Values near 0 indicate no tilt (upright head). Negative values correspond to a tilt to the left, and positive values to a tilt to the right. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e`", "readOnly": true }, "yaw": { "$ref": "#/components/schemas/HeadPoseAttribute", "description": "Face attribute representing angle rotation of head towards camera reference frame around Y-axis as per DIN9300 standard. The yaw angle describes how much the head is turned left or right relative to the camera. Yaw angle values are from range `\u003c-90; 90\u003e`. Values near 0 indicate no horizontal turn (facing straight ahead). Negative values correspond to a turn to the left, and positive values to a turn to the right. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e`", "readOnly": true }, "pitch": { "$ref": "#/components/schemas/HeadPoseAttribute", "description": "Face attribute representing angle rotation of head towards camera reference frame around X-axis as per DIN9300 standard. The pitch angle describes how much the head is tilted forward or backward relative to the camera. Pitch angle values are from range `\u003c-90; 90\u003e`. Values near 0 indicate no tilt (looking straight ahead). Negative values correspond to a downward tilt (towards the front), and positive values to an upward tilt (towards the back). \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e`", "readOnly": true }, "eyeDistance": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating distance between eyes in pixels. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e`", "readOnly": true }, "eyeGaze": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating whether a gaze-direction is frontal. Eye gaze values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027sideway ahead eyes gaze\u0027**, values near 1 indicate **\u0027straight ahead eyes gaze\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Right eye status is within ICAO range `\u003c0.5; 1.0\u003e` \n - Left eye status is within ICAO range `\u003c0.5; 1.0\u003e`", "readOnly": true }, "rightEye": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating right eye status. Right eye values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027closed, narrowed or bulged right eye\u0027**, values near 1 indicate **\u0027normally opened right eye\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e`", "readOnly": true }, "leftEye": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating left eye status. Left eye values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027closed, narrowed or bulged left eye\u0027**, values near 1 indicate **\u0027normally opened left eye\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e`", "readOnly": true }, "mouth": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute for evaluating mouth status. Mouth values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027open mouth, smile showing teeth or round lips present\u0027**, values near 1 indicate **\u0027mouth with no expression\u0027**. \n \nEvaluated preconditions for this attribute: \n \n - Face detection confidence is within ICAO range `\u003c0.53; 1.0\u003e` \n - Pitch angle is within ICAO range `\u003c-10; 10\u003e` \n - Yaw angle is within ICAO range `\u003c-10; 10\u003e`", "readOnly": true }, "faceSize": { "$ref": "#/components/schemas/FaceAttribute", "description": "Face attribute representing face size - the maximum of eye distance and eye-mouth distance in pixels. The precondition for this attribute is a detected face in the image.", "readOnly": true }, "faceRelativeArea": { "$ref": "#/components/schemas/FaceAttribute", "description": "Area of the face bounding box relative to the image size. Values are in the range `\u003c0.0; ∞)`. Values near 0 indicate that the face bounding box covers only a small portion of the image. Values near 1.0 indicate that the face bounding box covers most of the image. Values greater than 1.0 indicate that the bounding box extends beyond the image, meaning its area is larger than the image itself. The precondition for this attribute is that a face must be detected in the image.", "readOnly": true }, "faceRelativeAreaInImage": { "$ref": "#/components/schemas/FaceAttribute", "description": "Area of face visible in image relative to total area of face. This value implies the percentage of face area outside the image. The face area is defined by the ICAO bounding box, not by the detected face rectangle. Values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027most of the face area is outside the image\u0027**. Values near 1 indicate **\u0027most of the face area is within the image\u0027**. The precondition for this attribute is a detected face in the image.", "readOnly": true } }, "readOnly": true }, "HeadPoseAttribute": { "type": "object", "properties": { "angle": { "type": "integer", "format": "int32", "description": "The head pose angle", "example": 25, "readOnly": true }, "preconditionsMet": { "type": "boolean", "description": "The flag indicates if the face\u0027s attribute score is reliable.", "example": true, "readOnly": true } }, "readOnly": true, "required": [ "angle", "preconditionsMet" ] }, "GlassesResponse": { "type": "object", "properties": { "score": { "type": "number", "format": "double", "description": "The face attribute for evaluating glasses presence.Glasses values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027no glasses present\u0027**, values near 1 indicate **\u0027glasses present\u0027**.", "example": 0.83, "maximum": 1, "minimum": 0, "readOnly": true }, "tinted": { "type": "number", "format": "double", "description": "The face attribute for evaluating tinted glasses presence.Tinted glasses values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027no tinted glasses present\u0027**, values near 1 indicate **\u0027tinted glasses present\u0027**.", "example": 0.83, "maximum": 1, "minimum": 0, "readOnly": true }, "heavyFrame": { "type": "number", "format": "double", "description": "The face attribute for evaluating whether glasses with heavy frames are present.Heavy frame glasses values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027no heavy frame glasses present\u0027**, values near 1 indicate **\u0027heavy frame glasses present\u0027**.", "example": 0.83, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true }, "FaceTemplateResponse": { "type": "object", "properties": { "data": { "type": "string", "format": "byte", "description": "The template bytes", "readOnly": true }, "version": { "type": "string", "description": "The template version", "example": 1.13, "readOnly": true } }, "readOnly": true, "required": [ "data", "version" ] }, "FaceMaskResponse": { "type": "object", "description": "The face mask", "properties": { "score": { "type": "number", "format": "double", "description": "The face attribute for evaluating face mask presence.Face mask values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027no face mask present\u0027**, values near 1 indicate **\u0027face mask present\u0027**.", "example": 0.83, "maximum": 1, "minimum": 0, "readOnly": true } }, "readOnly": true, "required": [ "score" ] }, "ImageCrop": { "type": "object", "description": "The image crop.", "properties": { "data": { "type": "string", "format": "byte", "description": "Base64 encoded image in JPG format with 8-bit RGB color components, corresponding to a Windows-style BGR color model", "example": "aW1hZ2UK", "readOnly": true } }, "readOnly": true, "required": [ "data" ] }, "CropCoordinatesResponse": { "type": "object", "properties": { "fullyCaptured": { "type": "boolean", "description": "True if whole face is captured in the input image", "example": true, "readOnly": true }, "coordinates": { "$ref": "#/components/schemas/Roi", "readOnly": true } }, "readOnly": true, "required": [ "coordinates", "fullyCaptured" ] }, "FaceAspectsResponse": { "type": "object", "properties": { "age": { "type": "integer", "format": "int32", "description": "The age of the face in years", "example": 24, "readOnly": true }, "gender": { "type": "number", "format": "double", "description": "The gender score of the face. Gender values are from range `\u003c0.0; 1.0\u003e`. Values near 0 indicate **\u0027male\u0027**, values near 1 indicate **\u0027female\u0027**.", "example": 0.11, "readOnly": true } }, "readOnly": true, "required": [ "age", "gender" ] }, "Barcode": { "type": "object", "description": "Parsed barcode", "properties": { "data": { "type": "string", "format": "byte", "description": "BASE64 encoded text", "readOnly": true }, "type": { "type": "string", "description": "Barcode type", "readOnly": true } }, "readOnly": true, "required": [ "data", "type" ] }, "BiometricMultiValueAttribute": { "type": "object", "description": "Values for the given biometric attribute retrieved from different sources by facial biometry or by OCR.", "properties": { "visualZone": { "type": "string", "description": "The attribute value obtained from the document\u0027s visual zone.", "readOnly": true }, "visualZoneDuplicates": { "type": "array", "description": "The attribute is a duplicated field type on the document, the value is obtained from the document\u0027s visual zone.", "items": { "type": "string" }, "readOnly": true }, "mrz": { "type": "string", "description": "The attribute value obtained from the document\u0027s machine readable zone.", "readOnly": true }, "chip": { "type": "string", "description": "The attribute value read from the document\u0027s chip.", "readOnly": true }, "selfie": { "type": "string", "description": "The attribute value obtained from the selfie.", "readOnly": true }, "documentPortrait": { "type": "string", "description": "The attribute value obtained from the document\u0027s portrait.", "readOnly": true } }, "readOnly": true }, "Customer": { "type": "object", "description": "Details of the customer retrieved by OCR from ID document photo and by facial biometry from the selfie.", "properties": { "age": { "$ref": "#/components/schemas/BiometricMultiValueAttribute", "description": "Values for the textual attribute `AGE` retrieved by: \n - Facial biometry. \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.", "example": { "visualZone": "40", "mrz": "40", "documentPortrait": "31" }, "readOnly": true }, "gender": { "$ref": "#/components/schemas/BiometricMultiValueAttribute", "description": "Values for the textual attribute `GENDER` retrieved by: \n - Facial biometry. \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip. \nThe gender is represented by: `M` for male, `F` for female. In the visual inspection zone (VIZ), an undefined gender is represented by `X`, while in the machine-readable zone (MRZ), it is represented by an empty string.", "example": { "visualZone": "M", "mrz": "M", "documentPortrait": "M" }, "readOnly": true }, "givenNames": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the textual attribute `GIVEN_NAMES` retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.", "example": { "visualZone": "Brian", "mrz": "BRIAN" }, "readOnly": true }, "surname": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the textual attribute `SURNAME` retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.", "example": { "visualZone": "Bell", "mrz": "BELL" }, "readOnly": true }, "fullName": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the biometric attribute `FULL_NAME` retrieved by OCR from different sources on the document photo. ", "readOnly": true }, "dateOfBirth": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the textual attribute `DATE_OF_BIRTH` retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip. \nThe date is represented in the format `YYYY-MM-DD`.", "example": { "visualZone": "1985-08-06", "mrz": "1985-08-06" }, "readOnly": true }, "personalNumber": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the textual attribute `PERSONAL_NUMBER` retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.", "readOnly": true }, "citizenship": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the biometric attribute `FULL_NAME` retrieved by OCR from different sources on the document photo. ", "readOnly": true }, "nationality": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the textual attribute `NATIONALITY` retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.", "example": "visualZone", "readOnly": true }, "document": { "$ref": "#/components/schemas/CustomerDocument", "readOnly": true } }, "readOnly": true }, "CustomerDocument": { "type": "object", "description": "Details of the customer\u0027s document retrieved by OCR from ID document photo. The dates are in format `YYYY-MM-DD`.", "properties": { "type": { "$ref": "#/components/schemas/DocumentType", "readOnly": true }, "pageTypes": { "type": "array", "description": "Document\u0027s page types. Possible values: `front`, `back`, `unknown`.", "example": [ "back", "front" ], "items": { "type": "string" }, "readOnly": true }, "dateOfIssue": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the textual attribute `DATE_OF_ISSUE` retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.The date is represented in the format `YYYY-MM-DD`.", "example": { "visualZone": "2020-11-24" }, "readOnly": true }, "dateOfExpiry": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the textual attribute `DATE_OF_EXPIRY` retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.\nThe date is represented in the format `YYYY-MM-DD`.", "example": { "visualZone": "2030-11-24", "mrz": "2030-11-24" }, "readOnly": true }, "documentNumber": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the textual attribute `DOCUMENT_NUMBER` retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.", "example": { "visualZone": "BB456987", "mrz": "BB456987" }, "readOnly": true }, "issuingAuthority": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the textual attribute `ISSUING_AUTHORITY` retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.", "readOnly": true }, "issuingState": { "$ref": "#/components/schemas/MultiValueAttribute", "description": "Values for the textual attribute `ISSUING_STATE` retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.", "example": { "mrz": "SVK" }, "readOnly": true }, "additionalTexts": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/MultiValueAttributeWithoutMrz" }, "description": "\n Contains a map of additional text elements extracted from the document.\n\n The map key represents the type of text field present on the document.\n The value contains the text extracted by OCR from the document image.\n ", "example": { "placeOfBirth": { "visualZone": "Los Angeles" }, "address": { "visualZone": "5 4th Street\nNew York" } }, "readOnly": true }, "mrz": { "$ref": "#/components/schemas/Mrz", "description": "Values for the biometric attribute `MRZ` retrieved by OCR from different sources on the document photo.", "readOnly": true }, "barcodes": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Barcode" } }, "description": "The map of barcodes detected on the document. The map keys are page types. The inner map keys are barcode names.", "example": { "back": { "barcode2": { "data": "YmFyY29kZQ\u003d\u003d", "type": "qr_code" }, "barcode3": { "data": "c29tZSBkYXRh", "type": "code_39" } }, "front": { "barcode1": { "data": "bW9yZSBkYXRh", "type": "pdf_417" } } }, "readOnly": true }, "links": { "$ref": "#/components/schemas/CustomerDocumentLinks", "readOnly": true } }, "readOnly": true, "required": [ "links", "pageTypes" ] }, "CustomerDocumentLinks": { "type": "object", "description": "Links to cropped images from the customer\u0027s document.", "properties": { "portrait": { "type": "string", "description": "The document\u0027s portrait link", "readOnly": true }, "chipPortrait": { "type": "string", "description": "The document\u0027s chip portrait link", "readOnly": true }, "ghostPortrait": { "type": "string", "description": "The document\u0027s ghost portrait link", "readOnly": true }, "signature": { "type": "string", "description": "The document\u0027s signature image link", "readOnly": true }, "fingerprint": { "type": "string", "description": "The document\u0027s fingerprint image link", "readOnly": true }, "pages": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The map of links to the document\u0027s pages. The map keys are page types.", "example": { "front": "/api/v1/customers/6569635c-dc38-4bca-beb6-b549507fd4e1/document/pages/front", "back": "/api/v1/customers/6569635c-dc38-4bca-beb6-b549507fd4e1/document/pages/back" }, "readOnly": true } }, "readOnly": true }, "GetCustomerResponse": { "type": "object", "properties": { "customer": { "$ref": "#/components/schemas/Customer", "readOnly": true } }, "readOnly": true }, "Mrz": { "type": "object", "description": "Parsed machine readable zone", "properties": { "td1": { "$ref": "#/components/schemas/Td1Mrz", "readOnly": true }, "td2": { "$ref": "#/components/schemas/Td2Mrz", "readOnly": true }, "td3": { "$ref": "#/components/schemas/Td3Mrz", "readOnly": true } }, "readOnly": true }, "MultiValueAttribute": { "type": "object", "description": "Values for the given textual attribute retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.", "properties": { "visualZone": { "type": "string", "description": "The attribute value obtained from the document\u0027s visual zone.", "readOnly": true }, "visualZoneDuplicates": { "type": "array", "description": "The attribute is a duplicated field type on the document, the value is obtained from the document\u0027s visual zone.", "items": { "type": "string" }, "readOnly": true }, "mrz": { "type": "string", "description": "The attribute value obtained from the document\u0027s machine readable zone.", "readOnly": true }, "chip": { "type": "string", "description": "The attribute value read from the document\u0027s chip.", "readOnly": true }, "barcode": { "type": "string", "description": "The attribute value obtained from the document\u0027s barcode.", "readOnly": true } }, "readOnly": true }, "MultiValueAttributeWithoutMrz": { "type": "object", "description": "Values for the given textual attribute retrieved by: \n - OCR from different sources on the document photo. \n - Reading from the document\u0027s chip.", "properties": { "visualZone": { "type": "string", "description": "The attribute value obtained from the document\u0027s visual zone.", "readOnly": true }, "visualZoneDuplicates": { "type": "array", "description": "The attribute is a duplicated field type on the document, the value is obtained from the document\u0027s visual zone.", "items": { "type": "string" }, "readOnly": true }, "chip": { "type": "string", "description": "The attribute value obtained from the document\u0027s chip.", "readOnly": true }, "barcode": { "type": "string", "description": "The attribute value obtained from the document\u0027s barcode.", "readOnly": true } }, "readOnly": true }, "Td1Mrz": { "type": "object", "description": "Parsed TD1 machine readable zone", "properties": { "documentCode": { "type": "string", "description": "Document\u0027s code", "example": "P", "readOnly": true }, "issuingAuthority": { "type": "string", "deprecated": true, "description": "Document\u0027s issuing authority", "example": "SVK", "readOnly": true }, "issuingState": { "type": "string", "description": "Document\u0027s issuing state", "example": "SVK", "readOnly": true }, "surname": { "type": "string", "description": "Holder\u0027s surname", "example": "DOE", "readOnly": true }, "givenNames": { "type": "string", "description": "Holder\u0027s given names", "example": "JOHN", "readOnly": true }, "documentNumber": { "type": "string", "description": "Document\u0027s number", "example": 123456789, "readOnly": true }, "nationality": { "type": "string", "description": "Holder\u0027s nationality", "example": "SVK", "readOnly": true }, "dateOfBirth": { "type": "string", "description": "Holder\u0027s date of the birth, format: `YYMMDD`", "example": 841102, "readOnly": true }, "gender": { "type": "string", "description": "Holder\u0027s gender, format: `M` for male, `F` for female, empty string for undefined gender.", "example": "M", "readOnly": true }, "dateOfExpiry": { "type": "string", "description": "Document\u0027s date of the expiration, format: `YYMMDD`", "example": 261019, "readOnly": true }, "optionalDataFirstLine": { "type": "string", "description": "Optional data - first line", "example": 2222, "readOnly": true }, "optionalDataSecondLine": { "type": "string", "description": "Optional data - second line", "example": 2222, "readOnly": true }, "checkDigitsValidity": { "$ref": "#/components/schemas/Td1MrzCheckDigitsValidity", "readOnly": true } }, "readOnly": true, "required": [ "checkDigitsValidity", "dateOfBirth", "dateOfExpiry", "documentCode", "documentNumber", "gender", "givenNames", "issuingAuthority", "issuingState", "nationality", "surname" ] }, "Td1MrzCheckDigitsValidity": { "type": "object", "description": "Validity of MRZ check digits", "properties": { "documentNumberCheckDigitValid": { "type": "boolean", "description": "Check digit\u0027s validity of the document\u0027s number", "example": true, "readOnly": true }, "dateOfBirthCheckDigitValid": { "type": "boolean", "description": "Check digit\u0027s validity of the holder\u0027s date of the birth", "example": true, "readOnly": true }, "dateOfExpiryCheckDigitValid": { "type": "boolean", "description": "Check digit\u0027s validity of the holder\u0027s date of the expiration", "example": true, "readOnly": true }, "compositeCheckDigitValid": { "type": "boolean", "description": "Composite check digit\u0027s validity", "example": true, "readOnly": true } }, "readOnly": true, "required": [ "compositeCheckDigitValid", "dateOfBirthCheckDigitValid", "dateOfExpiryCheckDigitValid", "documentNumberCheckDigitValid" ] }, "Td2Mrz": { "type": "object", "description": "Parsed TD2 machine readable zone", "properties": { "documentCode": { "type": "string", "description": "Document\u0027s code", "example": "P", "readOnly": true }, "issuingAuthority": { "type": "string", "deprecated": true, "description": "Document\u0027s issuing authority", "example": "SVK", "readOnly": true }, "issuingState": { "type": "string", "description": "Document\u0027s issuing state", "example": "SVK", "readOnly": true }, "surname": { "type": "string", "description": "Holder\u0027s surname", "example": "DOE", "readOnly": true }, "givenNames": { "type": "string", "description": "Holder\u0027s given names", "example": "JOHN", "readOnly": true }, "documentNumber": { "type": "string", "description": "Document\u0027s number", "example": 123456789, "readOnly": true }, "nationality": { "type": "string", "description": "Holder\u0027s nationality", "example": "SVK", "readOnly": true }, "dateOfBirth": { "type": "string", "description": "Holder\u0027s date of the birth, format: `YYMMDD`", "example": 841102, "readOnly": true }, "gender": { "type": "string", "description": "Holder\u0027s gender, format: `M` for male, `F` for female, empty string for undefined gender.", "example": "M", "readOnly": true }, "dateOfExpiry": { "type": "string", "description": "Document\u0027s date of the expiration, format: `YYMMDD`", "example": 261019, "readOnly": true }, "optionalDataSecondLine": { "type": "string", "description": "Optional data - second line", "example": 2222, "readOnly": true }, "checkDigitsValidity": { "$ref": "#/components/schemas/Td2MrzCheckDigitsValidity", "readOnly": true } }, "readOnly": true, "required": [ "checkDigitsValidity", "dateOfBirth", "dateOfExpiry", "documentCode", "documentNumber", "gender", "givenNames", "issuingAuthority", "issuingState", "nationality", "surname" ] }, "Td2MrzCheckDigitsValidity": { "type": "object", "description": "Validity of MRZ check digits", "properties": { "documentNumberCheckDigitValid": { "type": "boolean", "description": "Check digit\u0027s validity of the document\u0027s number", "example": true, "readOnly": true }, "dateOfBirthCheckDigitValid": { "type": "boolean", "description": "Check digit\u0027s validity of the holder\u0027s date of the birth", "example": true, "readOnly": true }, "dateOfExpiryCheckDigitValid": { "type": "boolean", "description": "Check digit\u0027s validity of the holder\u0027s date of the expiration", "example": true, "readOnly": true }, "compositeCheckDigitValid": { "type": "boolean", "description": "Composite check digit\u0027s validity", "example": true, "readOnly": true } }, "readOnly": true, "required": [ "compositeCheckDigitValid", "dateOfBirthCheckDigitValid", "dateOfExpiryCheckDigitValid", "documentNumberCheckDigitValid" ] }, "Td3Mrz": { "type": "object", "description": "Parsed TD3 machine readable zone", "properties": { "documentCode": { "type": "string", "description": "Document\u0027s code", "example": "P", "readOnly": true }, "issuingAuthority": { "type": "string", "deprecated": true, "description": "Document\u0027s issuing authority", "example": "SVK", "readOnly": true }, "issuingState": { "type": "string", "description": "Document\u0027s issuing state", "example": "SVK", "readOnly": true }, "surname": { "type": "string", "description": "Holder\u0027s surname", "example": "DOE", "readOnly": true }, "givenNames": { "type": "string", "description": "Holder\u0027s given names", "example": "JOHN", "readOnly": true }, "documentNumber": { "type": "string", "description": "Document\u0027s number", "example": 123456789, "readOnly": true }, "nationality": { "type": "string", "description": "Holder\u0027s nationality", "example": "SVK", "readOnly": true }, "dateOfBirth": { "type": "string", "description": "Holder\u0027s date of the birth, format: `YYMMDD`", "example": 841102, "readOnly": true }, "gender": { "type": "string", "description": "Holder\u0027s gender, format: `M` for male, `F` for female, empty string for undefined gender.", "example": "M", "readOnly": true }, "dateOfExpiry": { "type": "string", "description": "Document\u0027s date of the expiration, format: `YYMMDD`", "example": 261019, "readOnly": true }, "personalNumberOrOptionalDataSecondLine": { "type": "string", "description": "Holder\u0027s personal number or other optional data", "example": 2222, "readOnly": true }, "checkDigitsValidity": { "$ref": "#/components/schemas/Td3MrzCheckDigitsValidity", "readOnly": true } }, "readOnly": true, "required": [ "checkDigitsValidity", "dateOfBirth", "dateOfExpiry", "documentCode", "documentNumber", "gender", "givenNames", "issuingAuthority", "issuingState", "nationality", "surname" ] }, "Td3MrzCheckDigitsValidity": { "type": "object", "description": "Validity of MRZ check digits", "properties": { "documentNumberCheckDigitValid": { "type": "boolean", "description": "Check digit\u0027s validity of the document\u0027s number", "example": true, "readOnly": true }, "dateOfBirthCheckDigitValid": { "type": "boolean", "description": "Check digit\u0027s validity of the holder\u0027s date of the birth", "example": true, "readOnly": true }, "dateOfExpiryCheckDigitValid": { "type": "boolean", "description": "Check digit\u0027s validity of the holder\u0027s date of the expiration", "example": true, "readOnly": true }, "personalNumberCheckDigitValid": { "type": "boolean", "description": "Check digit\u0027s validity of the holder\u0027s personal number", "example": true, "readOnly": true }, "compositeCheckDigitValid": { "type": "boolean", "description": "Composite check digit\u0027s validity", "example": true, "readOnly": true } }, "readOnly": true, "required": [ "compositeCheckDigitValid", "dateOfBirthCheckDigitValid", "dateOfExpiryCheckDigitValid", "documentNumberCheckDigitValid", "personalNumberCheckDigitValid" ] }, "DocumentPageQuality": { "type": "object", "properties": { "fine": { "type": "boolean", "description": "The quality check result", "example": false, "readOnly": true }, "issues": { "type": "array", "description": "The list of the quality check issues if the quality check failed", "example": [ "BRIGHTNESS_HIGH", "DOCUMENT_SMALL" ], "items": { "type": "string", "enum": [ "BRIGHTNESS_HIGH", "BRIGHTNESS_LOW", "HOTSPOTS_SCORE_HIGH", "SHARPNESS_LOW", "DOCUMENT_SMALL", "DOCUMENT_OUT_OF_IMAGE" ] }, "readOnly": true }, "warnings": { "type": "array", "description": "The list of warnings from the quality check", "example": [ "DOCUMENT_CLOSE_TO_IMAGE_BORDER" ], "items": { "type": "string", "enum": [ "DOCUMENT_CLOSE_TO_IMAGE_BORDER" ] }, "readOnly": true }, "details": { "$ref": "#/components/schemas/QualityDetails", "description": "Quality check details", "readOnly": true } }, "readOnly": true, "required": [ "details", "fine" ] }, "QualityCheckDetail": { "type": "object", "description": "Quality check detail", "properties": { "score": { "type": "number", "format": "double", "description": "Quality parameter score", "example": 0.45, "maximum": 1, "minimum": 0, "readOnly": true }, "level": { "type": "string", "description": "Quality parameter level", "enum": [ "LOW", "MEDIUM", "HIGH" ], "example": "LOW", "readOnly": true } }, "readOnly": true, "required": [ "level", "score" ] }, "QualityDetails": { "type": "object", "description": "Quality check details", "properties": { "sharpness": { "$ref": "#/components/schemas/QualityCheckDetail", "description": "Sharpness quality check details", "readOnly": true }, "brightness": { "$ref": "#/components/schemas/QualityCheckDetail", "description": "Brightness quality check details", "readOnly": true }, "hotspots": { "$ref": "#/components/schemas/QualityCheckDetail", "description": "Hotspots quality check details", "readOnly": true } }, "readOnly": true, "required": [ "brightness", "hotspots", "sharpness" ] }, "GetDocumentChipDataResponse": { "type": "object", "description": "Raw data of DG files, SOD file and COM file, if provided.", "properties": { "dg1File": { "type": "string", "format": "byte", "readOnly": true }, "dg2File": { "type": "string", "format": "byte", "readOnly": true }, "dg3File": { "type": "string", "format": "byte", "readOnly": true }, "dg4File": { "type": "string", "format": "byte", "readOnly": true }, "dg5File": { "type": "string", "format": "byte", "readOnly": true }, "dg7File": { "type": "string", "format": "byte", "readOnly": true }, "dg8File": { "type": "string", "format": "byte", "readOnly": true }, "dg9File": { "type": "string", "format": "byte", "readOnly": true }, "dg10File": { "type": "string", "format": "byte", "readOnly": true }, "dg11File": { "type": "string", "format": "byte", "readOnly": true }, "dg12File": { "type": "string", "format": "byte", "readOnly": true }, "dg13File": { "type": "string", "format": "byte", "readOnly": true }, "dg14File": { "type": "string", "format": "byte", "readOnly": true }, "dg15File": { "type": "string", "format": "byte", "readOnly": true }, "dg16File": { "type": "string", "format": "byte", "readOnly": true }, "sodFile": { "type": "string", "format": "byte", "readOnly": true }, "comFile": { "type": "string", "format": "byte", "readOnly": true } }, "readOnly": true } }, "securitySchemes": { "api": { "type": "http", "in": "header", "scheme": "bearer" } } } }