openapi: 3.0.0 info: contact: email: contact@yousign.com name: Support url: https://yousign.com/contact description: Build the best experience of digital signature through your own platform. Increase your conversion rates, leverage your data and reduce your costs with Yousign API. license: name: proprietary url: https://yousign.com/terms title: Public Api v3 Applicant Identity Document Verification API version: '3.0' servers: - description: Sandbox URL url: https://api-sandbox.yousign.app/v3 - description: Production URL url: https://api.yousign.app/v3 security: - bearerAuth: [] tags: - description: KYC Process of verifying the identity associated with an identity document. name: Identity Document Verification paths: /verifications/identity_documents: get: description: Returns the list of all Identity Document Verifications within your organization. You can limit the number of items returned by using filters and pagination. Consult our [guide](https://developers.yousign.com/docs/identity-document-verification) for more details and examples. operationId: get-verifications-identity_documents parameters: - description: After cursor (pagination) in: query name: after required: false schema: minLength: 1 type: string - description: The limit of items count to retrieve. in: query name: limit required: false schema: default: 100 maximum: 100 minimum: 1 type: integer - description: 'Filter by `status`. Allowed operators: `eq`. Example: `status[eq]=verified` ' example: eq: - verified explode: true in: query name: status required: false schema: description: Filter by status. minProperties: 1 type: object style: deepObject - description: 'Filter by `workspace_id`. Allowed operators: `eq`. Example: `workspace_id[eq]=9b6ed2f3-244f-487a-baa1-bbe4f51c8748` ' example: eq: - 9b6ed2f3-244f-487a-baa1-bbe4f51c8748 explode: true in: query name: workspace_id required: false schema: description: Filter by workspace_id. minProperties: 1 type: object style: deepObject responses: '200': content: application/json: schema: $ref: '#/components/schemas/get_verifications_identity_documents_200_response' description: OK headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' description: Bad request headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '401': content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' description: Access unauthorized headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '403': content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' description: Access forbidden headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '405': content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' description: This method is not allowed headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '429': content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsResponse' description: Too Many Requests, please try again later. headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '500': content: application/json: schema: $ref: '#/components/schemas/InternalServerError' description: Internal Server Error headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' summary: List Identity Document Verifications tags: - Identity Document Verification post: description: 'Verify a person''s Identity Document by sending the file containing their Identity Document (identity card, passport, residence permit or driving license). An Image Identity Verification can be requested as follows: - **Verification with names**: This option checks both the validity of the ID document and the coherence between the names provided and those on the document. - **Verification without names**: This option only checks the validity of the ID document. Related guide: [Image Identity Verification](https://developers.yousign.com/docs/identity-document-verification) **â„šī¸ This endpoint accepts two request body formats — pick the one that matches your use case:** - 📁 `multipart/form-data` — upload a binary file containing the Identity Document. - 📝 `application/json` — reference an existing Workflow Session Applicant by ID. **🔓 Endpoint access** - Environments: `production`, `sandbox` - API key scopes: `organization`, `workspace` - Plans: `pro`, `scale` - Add-ons (for production access): `Verify - Image identity verification` ' operationId: post-verifications-identity_documents requestBody: content: application/json: schema: $ref: '#/components/schemas/InitiateIdentityDocumentFromApplicant' multipart/form-data: schema: $ref: '#/components/schemas/post_verifications_identity_documents_request' responses: '201': content: application/json: examples: pending: $ref: '#/components/examples/IdentityDocumentExample' schema: $ref: '#/components/schemas/IdentityDocumentFull' description: Created headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '400': content: application/json: schema: $ref: '#/components/schemas/BadRequestResponse' description: Bad request headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '401': content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' description: Access unauthorized headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '403': content: application/json: schema: $ref: '#/components/schemas/ForbiddenResponse' description: Access forbidden headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '405': content: application/json: schema: $ref: '#/components/schemas/MethodNotAllowed' description: This method is not allowed headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '415': content: application/json: schema: $ref: '#/components/schemas/UnsupportedMediaTypeResponse' description: UnsupportedMediaType headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' '429': content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsResponse' description: Too Many Requests, please try again later. headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' Retry-After: $ref: '#/components/headers/retry-after' '500': content: application/json: schema: $ref: '#/components/schemas/InternalServerError' description: Internal Server Error headers: RateLimit-Limit: $ref: '#/components/headers/rateLimit-limit' X-RateLimit-Limit-Hour: $ref: '#/components/headers/rateLimit-limit-hour' X-RateLimit-Limit-Minute: $ref: '#/components/headers/rateLimit-limit-minute' RateLimit-Remaining: $ref: '#/components/headers/rateLimit-remaining' X-RateLimit-Remaining-Hour: $ref: '#/components/headers/rateLimit-remaining-hour' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/rateLimit-remaining-minute' RateLimit-Reset: $ref: '#/components/headers/rateLimit-reset' summary: Initiate a new Identity Document Verification tags: - Identity Document Verification /verifications/identity_documents/{identityDocumentVerificationId}: get: description: Get the detailed results of an Identity Document Verification, including the status of the verification, the reasons in case of rejection and the data extracted from the Identity Document. operationId: get-verifications-identity_documents-id parameters: - description: Identity Document Verification Id in: path name: identityDocumentVerificationId required: true schema: $ref: '#/components/schemas/UUID' responses: '200': content: application/json: examples: verified: summary: Verified result value: id: 550e8400-e29b-41d4-a716-446655440000 workspace_id: 9a93d3b5-fb3b-4abf-9e70-26315b33506c created_at: '2024-01-18T22:59:00+00:00' updated_at: '2024-01-18T23:15:00+00:00' status: verified status_codes: [] data_anonymized: false workflow_session_id: 0ef334d2-7f36-4643-8a2a-4283b4a3e4a4 previous_attempt_id: null applicant_id: null data: extracted_from_document: first_name: John birth_name: Doe last_name: Doe born_on: '1990-05-15' birth_location: Paris gender: m full_address: '13 RUE SAINT MARCELIN MARSEILLE 10E (13)' type: id_card issuing_country_code: FR issued_on: '2020-03-01' expired_on: '2030-03-01' document_number: X4RTBPFW4 mrz: line1: IDFRASIAGRA<<<<<<<<<<<<<<<<<<<133039 line2: 1002133008071GREGOIRE<