> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Identify

> This endpoint gathers information about account owners. Partners may optionally choose to include transaction data in this request, potentially avoiding a separate aggregate member request. The identification workflow is similar to standard aggregation -  Start the identification, poll the member, answer MFA if necessary by using the list member MFA challenges endpoint and the update member endpoint, poll the status again, then read the member's `account_owners`. <br></br> Before making a request to this endpoint, partners must make sure identification is enabled for the member's `institution`. Specifically, the institution's `supports_account_identification` field must be true. If the `institution` does not support identification, a `400 Bad Request` error will be returned with the message,` Member's institution does not support instant account identification`.



## OpenAPI

````yaml openapi/nexus/v1.yaml POST /members/{member_guid}/identify
openapi: 3.0.0
info:
  contact:
    name: Nexus API
    url: https://www.mx.com
  version: 1.0.0
  title: Nexus API
  description: >-
    Legacy clients can use Nexus API for all their connectivity needs. If you
    are a new client refer to our Platform API. Review our [Nexus API
    Guides](/nexus) for more information.
servers:
  - url: https://int-data.moneydesktop.com/
  - url: https://data.moneydesktop.com/
security:
  - sessionToken: []
tags:
  - name: accounts
  - name: beats
  - name: budgets
  - name: categories
  - name: extended transaction history
  - name: goals
  - name: holdings
  - name: identity
  - name: insights
  - name: institutions
  - name: jobs
  - name: member credentials
  - name: members
  - name: merchants
  - name: microdeposits
  - name: monthly cash flow profile
  - name: notifications
  - name: scheduled payments
  - name: sessions
  - name: spending plan
  - name: taggings
  - name: tags
  - name: transaction rules
  - name: transactions
  - name: user
  - name: verification
paths:
  /members/{member_guid}/identify:
    post:
      tags:
        - identity
      summary: Identify
      description: >-
        This endpoint gathers information about account owners. Partners may
        optionally choose to include transaction data in this request,
        potentially avoiding a separate aggregate member request. The
        identification workflow is similar to standard aggregation -  Start the
        identification, poll the member, answer MFA if necessary by using the
        list member MFA challenges endpoint and the update member endpoint, poll
        the status again, then read the member's `account_owners`. <br></br>
        Before making a request to this endpoint, partners must make sure
        identification is enabled for the member's `institution`. Specifically,
        the institution's `supports_account_identification` field must be true.
        If the `institution` does not support identification, a `400 Bad
        Request` error will be returned with the message,` Member's institution
        does not support instant account identification`.
      operationId: identifyMember
      parameters:
        - name: member_guid
          description: The unique identifier for a member. Defined by MX.
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: false
        content:
          application/vnd.mx.nexus.v1+json:
            schema:
              type: object
              properties:
                include_transactions:
                  type: boolean
                  description: >-
                    When set to true, the identification will gather transaction
                    data along with account number data. Defaults to false.
      responses:
        '200':
          description: OK
          content:
            application/vnd.mx.nexus.v1+json:
              schema:
                $ref: '#/components/schemas/MemberResponseBody'
components:
  schemas:
    MemberResponseBody:
      properties:
        member:
          $ref: '#/components/schemas/MemberResponse'
      type: object
    MemberResponse:
      properties:
        aggregated_at:
          example: '2016-10-13T18:07:57.000Z'
          nullable: true
          type: string
          description: >-
            The date and time the most recent aggregation-type job was started,
            given in ISO 8601 format with a time component. A job will
            automatically be started when a member is created or its credentials
            are updated, unless the `skip_aggregation` parameter is used. Jobs
            can also be started via manual aggregations, background
            aggregations, API endpoints, or when opening an MX widget. A job can
            be a normal aggregation, or a premium job such as identification,
            verification, fetching statements, or fetching an extended
            transaction history. If a member is deleted and then re-created with
            the `skip_aggregation` parameter set to true or if it is re-created
            within the throttle window (typically three hours), the previous
            value will be returned.
        background_aggregation_is_disabled:
          example: false
          type: boolean
          description: >-
            This field indicates whether background aggregation is disabled for
            the member.
        connection_status:
          example: CONNECTED
          nullable: true
          type: string
          description: >-
            This field indicates the state of a member's aggregation, provided
            as a string.
        external_guid:
          example: null
          nullable: true
          description: >-
            Partner created identifier for the member. It must be unique for all
            members belonging to all users within the client.
        guid:
          example: MBR-7c6f361b-e582-15b6-60c0-358f12466b4b
          nullable: true
          type: string
          description: Unique identifier for the member. Defined by MX.
        institution_code:
          description: The code identifier for the institution.
          example: chase
          nullable: true
          type: string
        institution_guid:
          example: INS-1572a04c-912b-59bf-5841-332c7dfafaef
          description: The unique identifier for the institution. Defined by MX.
          type: string
        is_being_aggregated:
          example: false
          nullable: true
          type: boolean
          description: >-
            This field will be true if the member is being aggregated at the
            time of the request. Otherwise, this field will be false.
        is_managed_by_user:
          example: false
          nullable: true
          type: boolean
          description: >-
            If the member is managed by the user, this field will be true.
            Otherwise, the member is managed by the MX partner, and this field
            will be false. Members created with Nexus are considered to be
            managed by the user. This field should be used in place of
            `is_user_created`.
        is_oauth:
          example: false
          nullable: true
          type: boolean
          description: >-
            This indicates whether the member uses OAuth to authenticate the
            member. Defaults to false. authentication.
        is_user_created:
          example: true
          description: >-
            If the member is user created, this field will be true. Otherwise,
            this field will be false. Members created with Nexus are considered
            user created. You should use the field `is_managed_by_user` instead
            of this field as it is being deprecated.
          type: boolean
        most_recent_job_guid:
          description: Unique identifier for the most recent job. Defined by MX.
          example: JOB-d6bb804b-6d12-44f1-b0ad-403441c03372
          type: string
        metadata:
          example: '\"credentials_last_refreshed_at\": \"2015-10-15\"'
          nullable: true
          type: string
          description: Additional information a partner can store on the member.
        name:
          example: Chase Bank
          nullable: true
          type: string
          description: >-
            Name of the given member. If omitted in a member create request, the
            institution name within the MX Platform will be used.
        successfully_aggregated_at:
          example: '2016-10-13T17:57:38.000Z'
          nullable: true
          type: string
          description: >-
            Date and time the account was last successfully aggregated,
            represented in ISO 8601 format with timestamp (e.g.,
            2015-04-13T12:01:23-00:00).
        use_cases:
          type: array
          description: >-
            The use case associated with the member. Valid values are `PFM`
            and/or `MONEY_MOVEMENT`. Only set this if you've met with MX and
            have opted in to using this field. For more info, see [Member Use
            Cases](/nexus/member-use-cases).
          items:
            type: string
            enum:
              - MONEY_MOVEMENT
              - PFM
          example:
            - PFM
        user_guid:
          example: USR-fa7537f3-48aa-a683-a02a-b18940482f54
          nullable: true
          type: string
          description: >-
            Unique identifier for the user the member is attached to. Defined by
            MX.
  securitySchemes:
    sessionToken:
      description: >
        ### MX Session Token 

        - Request an API token using the read API token endpoint in the MX SSO
        API.

        - Exchange an API token for a session token. 
          - A session token is obtained by sending a POST request to /sessions
          - The session token will be used in each request made for the user. It should be passed in an `MD-SESSION-TOKEN` HTTP header as shown below.
          - This session token is valid for 30 minutes from the time it was created. The 30 minute expiration counter is refreshed with each call.
          - If you send a request with an expired session token you'll receive an error code of `4011`.

        ```

        curl -i https://int-data.moneydesktop.com/accounts \

        -H 'MD-SESSION-TOKEN:
        CWforZl1Vn2vC_v6H4rnQRT1DoWpDouJAV-_5TBmiQRAtA8rsOG_BoajTiOSsL0A3bd-bmHXlA-eQzc9ywItKg'
        \

        -H 'Content-Type: application/vnd.mx.nexus.v1+json' \

        -H 'Accept: application/vnd.mx.nexus.v1+json'

        ```


        In documentation code examples, replace `<API_KEY_VALUE>` with the
        session token.
      type: apiKey
      name: MD-SESSION-TOKEN
      in: header

````