YouSign Proof of Address Verification API

KYC Process of verifying a proof of address document.

OpenAPI Specification

yousign-proof-of-address-verification-api-openapi.yml Raw ↑
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 Proof of Address 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 a proof of address document.
  name: Proof of Address Verification
paths:
  /verifications/proofs_of_address:
    get:
      description: 'Returns the list of all Proof of Address 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/proof-of-address-verification) for more details and examples.

        '
      operationId: get-verifications-proofs_of_address
      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_proofs_of_address_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 Proof of Address Verifications
      tags:
      - Proof of Address Verification
    post:
      description: 'Ask for a Proof of Address Verification by sending a supported document type (see our [guide](https://developers.yousign.com/docs/proof-of-address-verification) for more info).


        **ℹ️ This endpoint accepts two request body formats — pick the one that matches your use case:**

        - 📁 `multipart/form-data` — upload a binary file containing the proof of address.

        - 📝 `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 - Proof of address check`

        '
      operationId: post-verifications-proofs_of_address
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitiateProofOfAddressFromApplicant'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/InitiateProofOfAddress'
      responses:
        '201':
          content:
            application/json:
              examples:
                pending:
                  $ref: '#/components/examples/ProofOfAddressExample'
              schema:
                $ref: '#/components/schemas/ProofOfAddressFull'
          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 Proof of Address Verification
      tags:
      - Proof of Address Verification
      x-readme:
        explorer-enabled: false
  /verifications/proofs_of_address/{proofOfAddressVerificationId}:
    get:
      description: Get the detailed results of a Proof of Address Verification.
      operationId: get-verifications-proofs_of_address-id
      parameters:
      - description: Proof of Address Verification Id
        in: path
        name: proofOfAddressVerificationId
        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: '2025-02-12T23:59:59+00:00'
                    updated_at: '2025-02-12T23:59:59+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
                        last_name: Doe
                        full_address: Rue De Suède Av Pierre Berthelot 14000 CAEN
                        issued_on: '2022-01-01'
                        document_type: tax_notice
                        2d_doc:
                          full_name: John Doe
                          address:
                            line1: 18 rue de Londres
                            postal_code: '75008'
                            city: Paris
                            country_code: FR
              schema:
                $ref: '#/components/schemas/ProofOfAddressFull'
          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'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Resource not found
          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: Retrieve a Proof of Address Verification
      tags:
      - Proof of Address Verification
components:
  headers:
    rateLimit-remaining:
      description: The number of requests remaining in the current rate limit window
      schema:
        type: integer
    rateLimit-reset:
      description: The remaining time until the rate limit resets in seconds
      schema:
        type: integer
    rateLimit-remaining-hour:
      description: The number of requests remaining in the current hour rate limit window
      schema:
        type: integer
    rateLimit-limit:
      description: The maximum number of requests that the consumer is permitted to make in a given period
      schema:
        type: integer
    retry-after:
      description: Retry the request after X seconds
      schema:
        type: integer
    rateLimit-remaining-minute:
      description: The number of requests remaining in the current minute rate limit window
      schema:
        type: integer
    rateLimit-limit-minute:
      description: The maximum number of requests that the consumer is permitted to make in an minute window
      schema:
        type: integer
    rateLimit-limit-hour:
      description: The maximum number of requests that the consumer is permitted to make in an hour window
      schema:
        type: integer
  schemas:
    InternalServerError:
      properties:
        type:
          example: about:blank
          type: string
        detail:
          example: Something wrong occurred.
          type: string
      required:
      - detail
      - type
      title: InternalServerError
      type: object
    ProofOfAddressFull_allOf_data_extracted_from_document_2d_doc_address:
      description: If found, the address extracted from the 2D-Doc.
      properties:
        line1:
          description: The street type, name and number.
          example: 18 rue de Londres
          minLength: 1
          nullable: true
          type: string
        postal_code:
          description: The postal code.
          example: '75008'
          minLength: 1
          nullable: true
          type: string
        city:
          description: The city name.
          example: Paris
          minLength: 1
          nullable: true
          type: string
        country_code:
          example: FR
          format: ISO 3166-1 alpha-2
          maxLength: 2
          minLength: 1
          nullable: true
          pattern: ^[A-Za-z]{2}$
          type: string
      required:
      - city
      - country_code
      - line1
      - postal_code
      type: object
    TooManyRequestsResponse:
      properties:
        message:
          type: string
      required:
      - message
      title: TooManyRequestsResponse
      type: object
    InitiateProofOfAddressFromApplicant:
      additionalProperties: false
      properties:
        applicant_id:
          description: The Applicant ID linked to the Workflow Session.
          example: 9a93d3b5-fb3b-4abf-9e70-26315b33506c
          format: uuid
          type: string
      required:
      - applicant_id
      title: Attach a new Proof of Address Verification to an Applicant
      type: object
    ProofOfAddressFull_allOf_data:
      properties:
        extracted_from_document:
          $ref: '#/components/schemas/ProofOfAddressFull_allOf_data_extracted_from_document'
      required:
      - extracted_from_document
      type: object
    ProofOfAddressFull:
      allOf:
      - $ref: '#/components/schemas/ProofOfAddressMeta'
      - properties:
          data:
            $ref: '#/components/schemas/ProofOfAddressFull_allOf_data'
        required:
        - data
        type: object
      title: ProofOfAddressFull
      type: object
    get_verifications_proofs_of_address_200_response:
      properties:
        meta:
          $ref: '#/components/schemas/Pagination'
        data:
          items:
            $ref: '#/components/schemas/ProofOfAddressMeta'
          type: array
      type: object
    UnsupportedMediaTypeResponse:
      properties:
        type:
          type: string
        detail:
          type: string
      required:
      - detail
      - type
      title: UnsupportedMediaTypeResponse
      type: object
    MethodNotAllowed:
      properties:
        message:
          type: string
      required:
      - message
      title: MethodNotAllowed
      type: object
    NotFoundResponse:
      properties:
        type:
          type: string
        detail:
          type: string
      required:
      - detail
      - type
      title: NotFoundResponse
      type: object
    InitiateProofOfAddress_natural_person_address:
      additionalProperties: false
      description: Provide the holder full address, exactly as it should appear on the proof of address document.
      nullable: true
      properties:
        line1:
          description: The first line of the address, typically the street name and number.
          example: Rue De Suède
          maxLength: 500
          minLength: 1
          type: string
        line2:
          description: If needed, the second line of the address, typically an apartment or suite number.
          maxLength: 500
          minLength: 1
          nullable: true
          type: string
          example: null
        postal_code:
          description: The postal code of the address.
          example: '14000'
          maxLength: 10
          minLength: 1
          type: string
        city:
          description: The city of the address.
          example: CAEN
          maxLength: 200
          minLength: 1
          type: string
      req

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/yousign/refs/heads/main/openapi/yousign-proof-of-address-verification-api-openapi.yml