> ## 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.

# Update member

>  

This request was previously documented as non-rooted or not wrapped in the "member" object. We have added backwards compatibility to partners coded to the non-rooted format but all new integrations will use rooted requests as documented below.    The use of this endpoint to answer an MFA challenge and resume aggregation has been deprecated. Partners should use the resume aggregation endpoint in its place, as outlined in the Nexus guide. MX continues to support partners who leverage the update member endpoint for this purpose, but MX encourages all partners to switch to the resume aggregation endpoint instead. <br /><br />   This endpoint should be used to update a member's credentials, e.g., login and password, when the member's connection\_status is `DENIED` or `PREVENTED`. Partners should make a request to the list member credentials endpoint to get the list of that member's required credentials before gathering them from the user and making a request to the update member endpoint.   An aggregation job will be initiated automatically when a member's credentials are updated unless the `skip_aggregation` field is used to prevent it. However, a new job will not be initiated if there is already a job in process for that member. <br /><br /> The skip\_aggregation field should not be provided with a value of true when the update member endpoint is being used to answer an MFA challenge. That said, the best practice is to use the newer resume aggregation endpoint to answer MFA challenges.   This endpoint accepts the optional `MX-Skip-Webhook` header and `skip_webhook` parameter.


## OpenAPI

````yaml openapi/nexus/v1.yaml PUT /members/{member_guid}
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}:
    put:
      tags:
        - members
      summary: Update member
      description: >-
        This request was previously documented as non-rooted or not wrapped in
        the "member" object. We have added backwards compatibility to partners
        coded to the non-rooted format but all new integrations will use rooted
        requests as documented below.    The use of this endpoint to answer an
        MFA challenge and resume aggregation has been deprecated. Partners
        should use the resume aggregation endpoint in its place, as outlined in
        the Nexus guide. MX continues to support partners who leverage the
        update member endpoint for this purpose, but MX encourages all partners
        to switch to the resume aggregation endpoint instead.
        <br></br><br></br>   This endpoint should be used to update a member's
        credentials, e.g., login and password, when the member's
        connection_status is `DENIED` or `PREVENTED`. Partners should make a
        request to the list member credentials endpoint to get the list of that
        member's required credentials before gathering them from the user and
        making a request to the update member endpoint.   An aggregation job
        will be initiated automatically when a member's credentials are updated
        unless the `skip_aggregation` field is used to prevent it. However, a
        new job will not be initiated if there is already a job in process for
        that member. <br></br><br></br> The skip_aggregation field should not be
        provided with a value of true when the update member endpoint is being
        used to answer an MFA challenge. That said, the best practice is to use
        the newer resume aggregation endpoint to answer MFA challenges.   This
        endpoint accepts the optional `MX-Skip-Webhook` header and
        `skip_webhook` parameter.
      operationId: updateMember
      parameters:
        - name: member_guid
          description: The unique identifier for the member. Defined by MX.
          required: true
          in: path
          schema:
            type: string
      requestBody:
        content:
          application/vnd.mx.nexus.v1+json:
            schema:
              $ref: '#/components/schemas/MemberUpdateRequestBody'
        description: The parameters to update a member.
        required: true
      responses:
        '200':
          description: OK
          content:
            application/vnd.mx.nexus.v1+json:
              schema:
                $ref: '#/components/schemas/MemberResponseBody'
components:
  schemas:
    MemberUpdateRequestBody:
      properties:
        member:
          $ref: '#/components/schemas/MemberUpdateRequest'
      type: object
    MemberResponseBody:
      properties:
        member:
          $ref: '#/components/schemas/MemberResponse'
      type: object
    MemberUpdateRequest:
      type: object
      properties:
        credentials:
          description: >-
            Array of credentials required by the institution for member
            authentication.
          type: array
          items:
            type: object
            properties:
              credential_guid:
                description: Unique identifier for the credential. Defined by MX.
                type: string
                example: CRD-18cd14ce-2628-5eb6-ae17-b11f89d0b667
              value:
                description: The value for this credential as provided by the user.
                type: string
                example: user-entered-value
        background_aggregation_is_disabled:
          example: false
          type: boolean
          description: >-
            This field indicates whether background aggregation is disabled for
            the member.
        connection_status:
          type: string
          example: CONNECTED
          description: >-
            Can only be set if the member is under a test institution.
            Attempting to set this on a member of a non-test institution will
            result in a `400`. When present, the value must be one of the member
            connection status strings. If credentials are also set, any value
            for `connection_status` will be ignored as updating credentials
            automatically triggers an aggregation job, which will automatically
            update the connection status.
        skip_aggregation:
          description: >-
            When true, the member will not aggregate automatically after
            credentials are updated.
          type: boolean
          example: false
        skip_webhook:
          description: >-
            When set to true, this parameter will prevent a webhook from being
            triggered by the request.
          type: boolean
          example: false
        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.
          items:
            type: string
            enum:
              - MONEY_MOVEMENT
              - PFM
          example:
            - PFM
        metadata:
          type: string
          example: Additional information
          description: Additional information a partner can store on the member.
      required:
        - member
    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

````