diff --git a/README.md b/README.md index 8ef673f3..fd7883f8 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ :warning: We are currently expanding our OpenAPI specification to include all report responses. It is in beta and we welcome any feedback. You can contact us via the issues tab or [email](mailto:openapi-feedback@onfido.com), but we don't yet officially support this specification. :warning: -This specification supports Onfido API v3 onwards. +This specification supports the latest version of the Onfido API. For our latest stable release that is officially supported please use [v1.0.0](https://github.com/onfido/onfido-openapi-spec/tree/v1.0.0). diff --git a/openapi.yaml b/openapi.yaml index d2e1b105..0477ed9e 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -2,11 +2,11 @@ openapi: 3.0.0 info: title: Onfido API description: The Onfido API is used to submit check requests. - version: 3.1.0 + version: 3.2.0 license: name: MIT servers: - - url: https://api.{region}.onfido.com/v3.1 + - url: https://api.{region}.onfido.com/v3.2 variables: region: enum: diff --git a/output.json b/output.json index 7fe49f82..50a99cde 100644 --- a/output.json +++ b/output.json @@ -3,14 +3,14 @@ "info": { "title": "Onfido API", "description": "The Onfido API is used to submit check requests.", - "version": "3.1.0", + "version": "3.2.0", "license": { "name": "MIT" } }, "servers": [ { - "url": "https://api.{region}.onfido.com/v3.1", + "url": "https://api.{region}.onfido.com/v3.2", "variables": { "region": { "enum": [ @@ -1097,7 +1097,7 @@ } }, "document_ids": { - "description": "Optional. An array of document ids, for use with Document reports only. If omitted, the Document report will use the most recently uploaded document by default.", + "description": "Optional. Array of strings describing which document to process in checks containing a Document report or a Facial Similarity report, or both. By default, the most recently uploaded document is used. `document_ids` is only usable with Document and Facial Similarity reports.", "type": "array", "writeOnly": true, "items": { @@ -1323,7 +1323,7 @@ }, "documents": { "type": "array", - "description": "Array of objects with document ids that were used in the Onfido engine. [ONLY USED IN A DOCUMENT CHECK]", + "description": "Array of objects with document ids that were used in the Onfido engine. [ONLY POPULATED FOR DOCUMENT AND FACIAL SIMILARITY REPORTS]", "items": { "type": "object", "required": [ @@ -1385,6 +1385,11 @@ "type": "number", "format": "float", "description": "A floating point number between 0 and 1 that expresses how similar the two faces are, where 1 is a perfect match." + }, + "document_id": { + "type": "string", + "format": "uuid", + "description": "The UUID for the document containing the extracted face that was used for face matching." } } } @@ -1590,6 +1595,11 @@ "type": "number", "format": "float", "description": "A floating point number between 0 and 1 that expresses how similar the two faces are, where 1 is a perfect match." + }, + "document_id": { + "type": "string", + "format": "uuid", + "description": "The UUID for the document containing the extracted face that was used for face matching." } } } @@ -1731,6 +1741,11 @@ "type": "number", "format": "float", "description": "A floating point number between 0 and 1 that expresses how similar the two faces are, where 1 is a perfect match." + }, + "document_id": { + "type": "string", + "format": "uuid", + "description": "The UUID for the document containing the extracted face that was used for face matching." } } } @@ -2038,6 +2053,17 @@ "type": "object" } } + }, + "barcode": { + "type": "object", + "properties": { + "result": { + "type": "string" + }, + "properties": { + "type": "object" + } + } } } } @@ -2475,6 +2501,44 @@ } } } + }, + "issuing_authority": { + "type": "object", + "description": "Asserts whether data on the document matches the issuing authority data.", + "properties": { + "result": { + "type": "string" + }, + "breakdown": { + "type": "object", + "properties": { + "nfc_active_authentication": { + "type": "object", + "description": "Asserts whether the document NFC chip is original or cloned.", + "properties": { + "result": { + "type": "string" + }, + "properties": { + "type": "object" + } + } + }, + "nfc_passive_authentication": { + "type": "object", + "description": "Asserts whether the document NFC chip data was tampered.", + "properties": { + "result": { + "type": "string" + }, + "properties": { + "type": "object" + } + } + } + } + } + } } } }, @@ -2649,6 +2713,53 @@ } } }, + "nfc": { + "type": "object", + "properties": { + "document_type": { + "type": "string" + }, + "issuing_country": { + "type": "string" + }, + "full_name": { + "type": "string" + }, + "document_number": { + "type": "string" + }, + "nationality": { + "type": "string" + }, + "date_of_birth": { + "type": "string", + "format": "date" + }, + "gender": { + "type": "string" + }, + "date_of_expiry": { + "type": "string", + "format": "date" + }, + "personal_number": { + "type": "string" + }, + "place_of_birth": { + "type": "string" + }, + "address": { + "type": "string" + }, + "issuing_date": { + "type": "string", + "format": "date" + }, + "issuing_authority": { + "type": "string" + } + } + }, "driving_licence_information": { "type": "object", "properties": { diff --git a/schemas/checks/check.yaml b/schemas/checks/check.yaml index 86c31ed4..f539db87 100644 --- a/schemas/checks/check.yaml +++ b/schemas/checks/check.yaml @@ -82,7 +82,7 @@ items: type: string document_ids: - description: Optional. An array of document ids, for use with Document reports only. If omitted, the Document report will use the most recently uploaded document by default. + description: Optional. Array of strings describing which document to process in checks containing a Document report or a Facial Similarity report, or both. By default, the most recently uploaded document is used. `document_ids` is only usable with Document and Facial Similarity reports. type: array writeOnly: true items: diff --git a/schemas/reports/document_breakdown.yaml b/schemas/reports/document_breakdown.yaml index c8e08333..73236b12 100644 --- a/schemas/reports/document_breakdown.yaml +++ b/schemas/reports/document_breakdown.yaml @@ -118,6 +118,13 @@ properties: type: string properties: type: object + barcode: + type: object + properties: + result: + type: string + properties: + type: object image_integrity: type: object description: Asserts if the document is of sufficient quality to verify. @@ -339,4 +346,28 @@ properties: type: string properties: type: object - + issuing_authority: + type: object + description: Asserts whether data on the document matches the issuing authority data. + properties: + result: + type: string + breakdown: + type: object + properties: + nfc_active_authentication: + type: object + description: Asserts whether the document NFC chip is original or cloned. + properties: + result: + type: string + properties: + type: object + nfc_passive_authentication: + type: object + description: Asserts whether the document NFC chip data was tampered. + properties: + result: + type: string + properties: + type: object diff --git a/schemas/reports/document_properties.yaml b/schemas/reports/document_properties.yaml index 1798baca..817ab26a 100644 --- a/schemas/reports/document_properties.yaml +++ b/schemas/reports/document_properties.yaml @@ -113,6 +113,38 @@ properties: type: string real_id_classification: type: string + nfc: + type: object + properties: + document_type: + type: string + issuing_country: + type: string + full_name: + type: string + document_number: + type: string + nationality: + type: string + date_of_birth: + type: string + format: date + gender: + type: string + date_of_expiry: + type: string + format: date + personal_number: + type: string + place_of_birth: + type: string + address: + type: string + issuing_date: + type: string + format: date + issuing_authority: + type: string driving_licence_information: type: object properties: diff --git a/schemas/reports/facial_similarity_photo_breakdown.yaml b/schemas/reports/facial_similarity_photo_breakdown.yaml index 98e9256f..8cbfe967 100644 --- a/schemas/reports/facial_similarity_photo_breakdown.yaml +++ b/schemas/reports/facial_similarity_photo_breakdown.yaml @@ -22,6 +22,10 @@ properties: type: number format: float description: A floating point number between 0 and 1 that expresses how similar the two faces are, where 1 is a perfect match. + document_id: + type: string + format: uuid + description: The UUID for the document containing the extracted face that was used for face matching. image_integrity: type: object description: Asserts whether the quality and integrity of the uploaded files were sufficient to perform a face comparison. diff --git a/schemas/reports/facial_similarity_video_breakdown.yaml b/schemas/reports/facial_similarity_video_breakdown.yaml index 9bc69366..24c4ff7c 100644 --- a/schemas/reports/facial_similarity_video_breakdown.yaml +++ b/schemas/reports/facial_similarity_video_breakdown.yaml @@ -23,6 +23,10 @@ properties: type: number format: float description: A floating point number between 0 and 1 that expresses how similar the two faces are, where 1 is a perfect match. + document_id: + type: string + format: uuid + description: The UUID for the document containing the extracted face that was used for face matching. image_integrity: type: object readOnly: true diff --git a/schemas/reports/photo_fully_auto_breakdown.yaml b/schemas/reports/photo_fully_auto_breakdown.yaml index 76054753..41187525 100644 --- a/schemas/reports/photo_fully_auto_breakdown.yaml +++ b/schemas/reports/photo_fully_auto_breakdown.yaml @@ -22,6 +22,10 @@ properties: type: number format: float description: A floating point number between 0 and 1 that expresses how similar the two faces are, where 1 is a perfect match. + document_id: + type: string + format: uuid + description: The UUID for the document containing the extracted face that was used for face matching. image_integrity: type: object description: Asserts whether the quality and integrity of the uploaded files were sufficient to perform a face comparison. diff --git a/schemas/reports/report.yaml b/schemas/reports/report.yaml index de027879..6df6804c 100644 --- a/schemas/reports/report.yaml +++ b/schemas/reports/report.yaml @@ -36,7 +36,7 @@ allOf: description: The name of the report type. documents: type: array - description: Array of objects with document ids that were used in the Onfido engine. [ONLY USED IN A DOCUMENT CHECK] + description: Array of objects with document ids that were used in the Onfido engine. [ONLY POPULATED FOR DOCUMENT AND FACIAL SIMILARITY REPORTS] items: $ref: report_document.yaml breakdown: