Plaid Entity Verification API

Plaid Entity Verification API is a powerful tool that allows businesses to verify the identity and ownership of individuals or entities with ease. With this API, companies can quickly and securely verify important information such as names, addresses, and account ownership to ensure the legitimacy of their customers. By leveraging Plaid's extensive network of financial institutions and data sources, businesses can streamline their verification processes, reduce fraud, and enhance the overall security of their operations. This API provides a seamless and efficient solution for businesses looking to enhance their risk management practices and build trust with their customers.

OpenAPI Specification

plaid-identity-verification--openapi-original.yml Raw ↑
openapi: 3.0.0
servers:
  - description: Production
    url: https://production.plaid.com
  - description: Development
    url: https://development.plaid.com
  - description: Sandbox
    url: https://sandbox.plaid.com
info:
  title: 'Plaid identity verification/'
  version: 2020-09-14_1.517.0
  description: Needs description.
  contact:
    name: Plaid Developer Team
    url: https://plaid.com
  termsOfService: https://plaid.com/legal/
tags:
  - name: Plaid
security:
  - clientId: []
    secret: []
    plaidVersion: []
paths:
  /identity_verification/create:
    x-plaid-business-unit-context: BUSINESS_UNIT_PLAID
    post:
      summary: Plaid Create a new Identity Verification
      description: >
        Create a new Identity Verification for the user specified by the
        `client_user_id` field. The requirements and behavior of the
        verification are determined by the `template_id` provided.

        If you don't know whether the associated user already has an active
        Identity Verification, you can specify `"is_idempotent": true` in the
        request body. With idempotency enabled, a new Identity Verification will
        only be created if one does not already exist for the associated
        `client_user_id` and `template_id`. If an Identity Verification is
        found, it will be returned unmodified with an `200 OK` HTTP status code.


        You can also use this endpoint to supply information you already have
        collected about the user; if any of these fields are specified, the
        screens prompting the user to enter them will be skipped during the Link
        flow.
      tags:
        - Plaid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityVerificationCreateResponse'
              examples:
                example-1:
                  value:
                    id: idv_52xR9LKo77r1Np
                    client_user_id: your-db-id-3b24110
                    created_at: '2020-07-24T03:26:02Z'
                    completed_at: '2020-07-24T03:26:02Z'
                    previous_attempt_id: idv_42cF1MNo42r9Xj
                    shareable_url: >-
                      https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f
                    template:
                      id: idvtmp_4FrXJvfQU3zGUR
                      version: 2
                    user:
                      phone_number: '+19876543212'
                      date_of_birth: '1990-05-29'
                      ip_address: 192.0.2.42
                      email_address: [email protected]
                      name:
                        given_name: Leslie
                        family_name: Knope
                      address:
                        street: 123 Main St.
                        street2: Unit 42
                        city: Pawnee
                        region: IN
                        postal_code: '46001'
                        country: US
                      id_number:
                        value: '123456789'
                        type: us_ssn
                    status: success
                    steps:
                      accept_tos: success
                      verify_sms: success
                      kyc_check: success
                      documentary_verification: success
                      selfie_check: success
                      watchlist_screening: success
                      risk_check: success
                    documentary_verification:
                      status: success
                      documents:
                        - status: success
                          attempt: 1
                          images:
                            original_front: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_front.jpeg
                            original_back: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_back.jpeg
                            cropped_front: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_front.jpeg
                            cropped_back: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_back.jpeg
                            face: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/face.jpeg
                          extracted_data:
                            id_number: AB123456
                            category: drivers_license
                            expiration_date: '1990-05-29'
                            issuing_country: US
                            issuing_region: IN
                            date_of_birth: '1990-05-29'
                            address:
                              street: 123 Main St. Unit 42
                              city: Pawnee
                              region: IN
                              postal_code: '46001'
                              country: US
                          analysis:
                            authenticity: match
                            image_quality: high
                            extracted_data:
                              name: match
                              date_of_birth: match
                              expiration_date: not_expired
                              issuing_country: match
                          redacted_at: '2020-07-24T03:26:02Z'
                    selfie_check:
                      status: success
                      selfies:
                        - status: success
                          attempt: 1
                          capture:
                            image_url: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/selfie/liveness.jpeg
                            video_url: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/selfie/liveness.webm
                          analysis:
                            document_comparison: match
                    kyc_check:
                      status: success
                      address:
                        summary: match
                        po_box: 'yes'
                        type: residential
                      name:
                        summary: match
                      date_of_birth:
                        summary: match
                      id_number:
                        summary: match
                      phone_number:
                        summary: match
                        area_code: match
                    risk_check:
                      status: success
                      behavior:
                        user_interactions: risky
                        fraud_ring_detected: 'yes'
                        bot_detected: 'yes'
                      email:
                        is_deliverable: 'yes'
                        breach_count: 1
                        first_breached_at: '1990-05-29'
                        last_breached_at: '1990-05-29'
                        domain_registered_at: '1990-05-29'
                        domain_is_free_provider: 'yes'
                        domain_is_custom: 'yes'
                        domain_is_disposable: 'yes'
                        top_level_domain_is_suspicious: 'yes'
                        linked_services:
                          - apple
                      phone:
                        linked_services:
                          - apple
                      devices:
                        - ip_proxy_type: none_detected
                          ip_spam_list_count: 1
                          ip_timezone_offset: '+06:00:00'
                      identity_abuse_signals:
                        synthetic_identity:
                          score: 0
                        stolen_identity:
                          score: 0
                    watchlist_screening_id: scr_52xR9LKo77r1Np
                    redacted_at: '2020-07-24T03:26:02Z'
                    request_id: saKrIBuEB9qJZng
      operationId: identityVerificationCreate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityVerificationCreateRequest'
        required: true
      externalDocs:
        url: /api/products/identity-verification/#identity_verificationcreate
  /identity_verification/get:
    x-plaid-business-unit-context: BUSINESS_UNIT_PLAID
    post:
      summary: Plaid Retrieve Identity Verification
      tags:
        - Plaid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityVerificationGetResponse'
              examples:
                example-1:
                  value:
                    id: idv_52xR9LKo77r1Np
                    client_user_id: your-db-id-3b24110
                    created_at: '2020-07-24T03:26:02Z'
                    completed_at: '2020-07-24T03:26:02Z'
                    previous_attempt_id: idv_42cF1MNo42r9Xj
                    shareable_url: >-
                      https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f
                    template:
                      id: idvtmp_4FrXJvfQU3zGUR
                      version: 2
                    user:
                      phone_number: '+19876543212'
                      date_of_birth: '1990-05-29'
                      ip_address: 192.0.2.42
                      email_address: [email protected]
                      name:
                        given_name: Leslie
                        family_name: Knope
                      address:
                        street: 123 Main St.
                        street2: Unit 42
                        city: Pawnee
                        region: IN
                        postal_code: '46001'
                        country: US
                      id_number:
                        value: '123456789'
                        type: us_ssn
                    status: success
                    steps:
                      accept_tos: success
                      verify_sms: success
                      kyc_check: success
                      documentary_verification: success
                      selfie_check: success
                      watchlist_screening: success
                      risk_check: success
                    documentary_verification:
                      status: success
                      documents:
                        - status: success
                          attempt: 1
                          images:
                            original_front: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_front.jpeg
                            original_back: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_back.jpeg
                            cropped_front: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_front.jpeg
                            cropped_back: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_back.jpeg
                            face: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/face.jpeg
                          extracted_data:
                            id_number: AB123456
                            category: drivers_license
                            expiration_date: '1990-05-29'
                            issuing_country: US
                            issuing_region: IN
                            date_of_birth: '1990-05-29'
                            address:
                              street: 123 Main St. Unit 42
                              city: Pawnee
                              region: IN
                              postal_code: '46001'
                              country: US
                          analysis:
                            authenticity: match
                            image_quality: high
                            extracted_data:
                              name: match
                              date_of_birth: match
                              expiration_date: not_expired
                              issuing_country: match
                          redacted_at: '2020-07-24T03:26:02Z'
                    selfie_check:
                      status: success
                      selfies:
                        - status: success
                          attempt: 1
                          capture:
                            image_url: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/selfie/liveness.jpeg
                            video_url: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/selfie/liveness.webm
                          analysis:
                            document_comparison: match
                    kyc_check:
                      status: success
                      address:
                        summary: match
                        po_box: 'yes'
                        type: residential
                      name:
                        summary: match
                      date_of_birth:
                        summary: match
                      id_number:
                        summary: match
                      phone_number:
                        summary: match
                        area_code: match
                    risk_check:
                      status: success
                      behavior:
                        user_interactions: risky
                        fraud_ring_detected: 'yes'
                        bot_detected: 'yes'
                      email:
                        is_deliverable: 'yes'
                        breach_count: 1
                        first_breached_at: '1990-05-29'
                        last_breached_at: '1990-05-29'
                        domain_registered_at: '1990-05-29'
                        domain_is_free_provider: 'yes'
                        domain_is_custom: 'yes'
                        domain_is_disposable: 'yes'
                        top_level_domain_is_suspicious: 'yes'
                        linked_services:
                          - apple
                      phone:
                        linked_services:
                          - apple
                      devices:
                        - ip_proxy_type: none_detected
                          ip_spam_list_count: 1
                          ip_timezone_offset: '+06:00:00'
                      identity_abuse_signals:
                        synthetic_identity:
                          score: 0
                        stolen_identity:
                          score: 0
                    watchlist_screening_id: scr_52xR9LKo77r1Np
                    redacted_at: '2020-07-24T03:26:02Z'
                    request_id: saKrIBuEB9qJZng
      operationId: identityVerificationGet
      description: Retrieve a previously created Identity Verification.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityVerificationGetRequest'
        required: true
      externalDocs:
        url: /api/products/identity-verification/#identity_verificationget
  /identity_verification/list:
    x-plaid-business-unit-context: BUSINESS_UNIT_PLAID
    post:
      summary: Plaid List Identity Verifications
      tags:
        - Plaid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityVerificationListResponse'
              examples:
                example-1:
                  value:
                    identity_verifications:
                      - id: idv_52xR9LKo77r1Np
                        client_user_id: your-db-id-3b24110
                        created_at: '2020-07-24T03:26:02Z'
                        completed_at: '2020-07-24T03:26:02Z'
                        previous_attempt_id: idv_42cF1MNo42r9Xj
                        shareable_url: >-
                          https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f
                        template:
                          id: idvtmp_4FrXJvfQU3zGUR
                          version: 2
                        user:
                          phone_number: '+19876543212'
                          date_of_birth: '1990-05-29'
                          ip_address: 192.0.2.42
                          email_address: [email protected]
                          name:
                            given_name: Leslie
                            family_name: Knope
                          address:
                            street: 123 Main St.
                            street2: Unit 42
                            city: Pawnee
                            region: IN
                            postal_code: '46001'
                            country: US
                          id_number:
                            value: '123456789'
                            type: us_ssn
                        status: success
                        steps:
                          accept_tos: success
                          verify_sms: success
                          kyc_check: success
                          documentary_verification: success
                          selfie_check: success
                          watchlist_screening: success
                          risk_check: success
                        documentary_verification:
                          status: success
                          documents:
                            - status: success
                              attempt: 1
                              images:
                                original_front: >-
                                  https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_front.jpeg
                                original_back: >-
                                  https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_back.jpeg
                                cropped_front: >-
                                  https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_front.jpeg
                                cropped_back: >-
                                  https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_back.jpeg
                                face: >-
                                  https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/face.jpeg
                              extracted_data:
                                id_number: AB123456
                                category: drivers_license
                                expiration_date: '1990-05-29'
                                issuing_country: US
                                issuing_region: IN
                                date_of_birth: '1990-05-29'
                                address:
                                  street: 123 Main St. Unit 42
                                  city: Pawnee
                                  region: IN
                                  postal_code: '46001'
                                  country: US
                              analysis:
                                authenticity: match
                                image_quality: high
                                extracted_data:
                                  name: match
                                  date_of_birth: match
                                  expiration_date: not_expired
                                  issuing_country: match
                              redacted_at: '2020-07-24T03:26:02Z'
                        selfie_check:
                          status: success
                          selfies:
                            - status: success
                              attempt: 1
                              capture:
                                image_url: >-
                                  https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/selfie/liveness.jpeg
                                video_url: >-
                                  https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/selfie/liveness.webm
                              analysis:
                                document_comparison: match
                        kyc_check:
                          status: success
                          address:
                            summary: match
                            po_box: 'yes'
                            type: residential
                          name:
                            summary: match
                          date_of_birth:
                            summary: match
                          id_number:
                            summary: match
                          phone_number:
                            summary: match
                            area_code: match
                        risk_check:
                          status: success
                          behavior:
                            user_interactions: risky
                            fraud_ring_detected: 'yes'
                            bot_detected: 'yes'
                          email:
                            is_deliverable: 'yes'
                            breach_count: 1
                            first_breached_at: '1990-05-29'
                            last_breached_at: '1990-05-29'
                            domain_registered_at: '1990-05-29'
                            domain_is_free_provider: 'yes'
                            domain_is_custom: 'yes'
                            domain_is_disposable: 'yes'
                            top_level_domain_is_suspicious: 'yes'
                            linked_services:
                              - apple
                          phone:
                            linked_services:
                              - apple
                          devices:
                            - ip_proxy_type: none_detected
                              ip_spam_list_count: 1
                              ip_timezone_offset: '+06:00:00'
                          identity_abuse_signals:
                            synthetic_identity:
                              score: 0
                            stolen_identity:
                              score: 0
                        watchlist_screening_id: scr_52xR9LKo77r1Np
                        redacted_at: '2020-07-24T03:26:02Z'
                    next_cursor: eyJkaXJlY3Rpb24iOiJuZXh0Iiwib2Zmc2V0IjoiMTU5NDM
                    request_id: saKrIBuEB9qJZng
      operationId: identityVerificationList
      description: Filter and list Identity Verifications created by your account
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityVerificationListRequest'
        required: true
      externalDocs:
        url: /api/products/identity-verification/#identity_verificationlist
  /identity_verification/retry:
    x-plaid-business-unit-context: BUSINESS_UNIT_PLAID
    post:
      summary: Plaid Retry an Identity Verification
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityVerificationRetryRequest'
        required: true
      tags:
        - Plaid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityVerificationRetryResponse'
              examples:
                example-1:
                  value:
                    id: idv_52xR9LKo77r1Np
                    client_user_id: your-db-id-3b24110
                    created_at: '2020-07-24T03:26:02Z'
                    completed_at: '2020-07-24T03:26:02Z'
                    previous_attempt_id: idv_42cF1MNo42r9Xj
                    shareable_url: >-
                      https://flow.plaid.com/verify/idv_4FrXJvfQU3zGUR?key=e004115db797f7cc3083bff3167cba30644ef630fb46f5b086cde6cc3b86a36f
                    template:
                      id: idvtmp_4FrXJvfQU3zGUR
                      version: 2
                    user:
                      phone_number: '+19876543212'
                      date_of_birth: '1990-05-29'
                      ip_address: 192.0.2.42
                      email_address: [email protected]
                      name:
                        given_name: Leslie
                        family_name: Knope
                      address:
                        street: 123 Main St.
                        street2: Unit 42
                        city: Pawnee
                        region: IN
                        postal_code: '46001'
                        country: US
                      id_number:
                        value: '123456789'
                        type: us_ssn
                    status: success
                    steps:
                      accept_tos: success
                      verify_sms: success
                      kyc_check: success
                      documentary_verification: success
                      selfie_check: success
                      watchlist_screening: success
                      risk_check: success
                    documentary_verification:
                      status: success
                      documents:
                        - status: success
                          attempt: 1
                          images:
                            original_front: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_front.jpeg
                            original_back: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/original_back.jpeg
                            cropped_front: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_front.jpeg
                            cropped_back: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/cropped_back.jpeg
                            face: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/documents/1/face.jpeg
                          extracted_data:
                            id_number: AB123456
                            category: drivers_license
                            expiration_date: '1990-05-29'
                            issuing_country: US
                            issuing_region: IN
                            date_of_birth: '1990-05-29'
                            address:
                              street: 123 Main St. Unit 42
                              city: Pawnee
                              region: IN
                              postal_code: '46001'
                              country: US
                          analysis:
                            authenticity: match
                            image_quality: high
                            extracted_data:
                              name: match
                              date_of_birth: match
                              expiration_date: not_expired
                              issuing_country: match
                          redacted_at: '2020-07-24T03:26:02Z'
                    selfie_check:
                      status: success
                      selfies:
                        - status: success
                          attempt: 1
                          capture:
                            image_url: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/selfie/liveness.jpeg
                            video_url: >-
                              https://example.plaid.com/verifications/idv_52xR9LKo77r1Np/selfie/liveness.webm
                          analysis:
                            document_comparison: match
                    kyc_check:
                      status: success
                      address:
                        summary: match
                        po_box: 'yes'
                        type: residential
                      name:
                        summary: match
                      date_of_birth:
                        summary: match
                      id_number:
                        summary: match
                      phone_number:
                        summary: match
                        area_code: match
                    risk_check:
                      status: success
                      behavior:
                        user_interactions: risky
                        fraud_ring_detected: 'yes'
                        bot_detected: 'yes'
                      email:
                        is_deliverable: 'yes'
                        breach_count: 1
                        first_breached_at: '1990-05-29'
                        last_breached_at: '1990-05-29'
                        domain_registered_at: '1990-05-29'
                        domain_is_free_provider: 'yes'
                        domain_is_custom: 'yes'
                        domain_is_disposable: 'yes'
                        top_level_domain_is_suspicious: 'yes'
                        linked_services:
                          - apple
                      phone:
                        linked_services:
                          - apple
                      devices:
                        - ip_proxy_type: none_detected
                          ip_spam_list_count: 1
                          ip_timezone_offset: '+06:00:00'
                      identity_abuse_signals:
                        synthetic_identity:
                          score: 0
                        stolen_identity:
                          score: 0
                    watchlist_screening_id: scr_52xR9LKo77r1Np
                    redacted_at: '2020-07-24T03:26:02Z'
                    request_id: saKrIBuEB9qJZng
      operationId: identityVerificationRetry
      description: Allow a customer to retry their Identity Verification
      externalDocs:
        url: /api/products/identity-verification/#identity_verificationretry
  /identity_verification/autofill/create:
    x-plaid-business-unit-context: BUSINESS_UNIT_PLAID
    post:
      x-hidden-from-docs: true
      summary: Plaid Create autofill for an Identity Verification
      description: >-
        Try to autofill an Identity Verification based of the provided phone
        number, date of birth and country of residence.
      tags:
        - Plaid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityVerificationAutofillCreateRequest'
            example:
              identity_verification_id: flwses_42cF1MNo42r9Xj
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/IdentityVerificationAutofillCreateResponse
              examples:
                example-1:
                  value:
                    status: success
                    user:
                      name:
                        given_name: Leslie
                        family_name: Knope
                      address:
                        street: 123 Main St.
                        street2: Unit 42
                        city: Pawnee
                        region: IN
                        postal_code: '46001'
                        country: US
                        po_box: 'yes'
                        type: residential
                      id_number:
                        value: '123456789'

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/plaid/refs/heads/main/openapi/plaid-identity-verification--openapi-original.yml