Plaid Profile API

Plaid Profile API is a tool that allows developers to securely access detailed information about their users' financial profiles. By integrating this API into their applications, developers can retrieve data such as account balances, transaction history, income, and spending habits in a quick and efficient manner. This information can then be used to provide personalized financial services, recommendations, and insights to users. With Plaid Profile API, developers can streamline the onboarding process for new users, improve the user experience, and offer more tailored financial solutions.

OpenAPI Specification

plaid-profile--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 profile/'
  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:
  /profile/get:
    x-hidden-from-docs: true
    x-plaid-business-unit-context: BUSINESS_UNIT_PLAID
    post:
      tags:
        - Plaid
      summary: Plaid Retrieve a Profile
      externalDocs:
        url: /api/profile/#profileget
      operationId: profileGet
      description: >-
        Returns user permissioned profile data including identity and item
        access tokens.
      responses:
        '200':
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileGetResponse'
              examples:
                example-1:
                  value:
                    identity:
                      name:
                        first_name: Leslie
                        last_name: Knope
                      address:
                        street: 123 Main St.
                        street2: ''
                        city: Pawnee
                        region: IN
                        postal_code: '41006'
                        country: US
                      email: [email protected]
                      phone: '+14151234567'
                      date_of_birth: '1975-01-18'
                      ssn: '987654321'
                      ssn_last_4: '4321'
                    items:
                      - item_id: Ed6bjNrDLJfGvZWwnkQlfxwoNz54B5C97ejBr
                        access_token: access-sandbox-435beced-94e8-4df3-a181-1dde1cfa19f0
                    request_id: m8MDnv9okwxFNBV
        default:
          description: Error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlaidError'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProfileGetRequest'
        description: ''
  /link/profile/eligibility/check:
    x-hidden-from-docs: true
    x-plaid-business-unit-context: BUSINESS_UNIT_PLAID
    post:
      tags:
        - Plaid
      summary: Plaid Check profile eligibility
      externalDocs:
        url: /api/link/#profileeligibilitycheck
      operationId: linkProfileEligibilityCheck
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkProfileEligibilityCheckResponse'
              examples:
                example-1:
                  value:
                    profile_matches: true
                    request_id: XQVgFigpGHXkb0b
      description: >-
        The `/link/profile/eligibility/check` endpoint can be used to check
        whether a user with the

        supplied phone number has a saved profile that satisfies
        customer-defined eligibility

        requirements.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkProfileEligibilityCheckRequest'
        description: ''
components:
  schemas:
    ProfileGetResponse:
      type: object
      x-hidden-from-docs: true
      additionalProperties: true
      description: ProfileGetResponse defines the response schema for `/profile/get`
      properties:
        identity:
          $ref: '#/components/schemas/ProfileIdentity'
        items:
          type: array
          items:
            $ref: '#/components/schemas/ProfileItem'
        request_id:
          $ref: '#/components/schemas/RequestID'
      required:
        - identity
        - items
        - request_id
    PlaidError:
      description: >-
        Errors are identified by `error_code` and categorized by `error_type`.
        Use these in preference to HTTP status codes to identify and handle
        specific errors. HTTP status codes are set and provide the broadest
        categorization of errors: 4xx codes are for developer- or user-related
        errors, and 5xx codes are for Plaid-related errors, and the status will
        be 2xx in non-error cases. An Item with a non-`null` error object will
        only be part of an API response when calling `/item/get` to view Item
        status. Otherwise, error fields will be `null` if no error has occurred;
        if an error has occurred, an error code will be returned instead.
      type: object
      additionalProperties: true
      title: Error
      nullable: true
      properties:
        error_type:
          $ref: '#/components/schemas/PlaidErrorType'
        error_code:
          description: The particular error code. Safe for programmatic use.
          type: string
        error_message:
          description: >-
            A developer-friendly representation of the error code. This may
            change over time and is not safe for programmatic use.
          type: string
        display_message:
          description: >-
            A user-friendly representation of the error code. `null` if the
            error is not related to user action.


            This may change over time and is not safe for programmatic use.
          type: string
          nullable: true
        request_id:
          type: string
          description: >-
            A unique ID identifying the request, to be used for troubleshooting
            purposes. This field will be omitted in errors provided by webhooks.
        causes:
          type: array
          description: >-
            In the Assets product, a request can pertain to more than one Item.
            If an error is returned for such a request, `causes` will return an
            array of errors containing a breakdown of these errors on the
            individual Item level, if any can be identified.


            `causes` will only be provided for the `error_type`
            `ASSET_REPORT_ERROR`. `causes` will also not be populated inside an
            error nested within a `warning` object.
          items: {}
        status:
          type: integer
          description: >-
            The HTTP status code associated with the error. This will only be
            returned in the response body when the error information is provided
            via a webhook.
          nullable: true
        documentation_url:
          type: string
          description: >-
            The URL of a Plaid documentation page with more information about
            the error
        suggested_action:
          type: string
          nullable: true
          description: Suggested steps for resolving the error
      required:
        - error_type
        - error_code
        - error_message
        - display_message
    LinkProfileEligibilityCheckResponse:
      type: object
      x-hidden-from-docs: true
      additionalProperties: true
      description: >-
        LinkProfileEligibilityCheckResponse defines the response schema for
        `/link/profile/eligibility/check`
      properties:
        profile_matches:
          type: boolean
          description: >-
            Indicates whether Plaid has a profile matching the customer's
            eligibility requirements for this user
        request_id:
          $ref: '#/components/schemas/RequestID'
      required:
        - profile_matches
        - request_id