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

# Create Member

> This endpoint allows you to create a new `member`.

## Standard Members

When creating a standard member, you'll need to include the correct type of credential required by the financial institution, with values provided by the end user. You can find out which credential type is required with the [*read institution credentials*](/api-reference/atrium/reference/institutions/list-institutions) endpoint.

Once you successfully create a standard member, MX will immediately validate the provided credentials and attempt to aggregate data for accounts and transactions. You can prevent this automatic aggregation by setting the `skip_aggregation` parameter to `true`.

## OAuth Members

OAuth members can only be created with institutions that support it. OAuth members require no credentials, but do require you to set the `is_oauth` parameter to `true`.

New OAuth members will be created with a connection status of `PENDING`; e redirect URI will be provided in the `oauth_window_uri` field of the response. Making a separate request to the MX-provided `oauth_window_uri` will then take the end user to their financial institution's website where they can log in and select what data to share with MX. After completing the OAuth process, aggregation automatically will begin and the connection status will be updated, unless the `skip_aggregation` parameter was set to `true`.

`oauth_window_uri`s are **one-time use**. Don't hard code an expected URI into your application.

Don't prepend the `https://` protocol to the URI string, as MX includes this.

<Warning>
  Do not add multiple members which connect to the same `institution` using the same `credentials` on the same `user`. This will result in a `409 Conflict` error.
</Warning>

<ParamField body="identifier" type="string" />

<ParamField body="institution_code" type="string" required />

<ParamField body="metadata" type="string" />

<ParamField body="skip_aggregation" type="boolean" />

<ParamField body="is_oauth" type="boolean" />

<ParamField body="referral_source" type="string" />

<ParamField body="client_redirect_url" type="string" />

<ParamField body="ui_message_webview_url_scheme" type="string" />

<RequestExample>
  ```shell Request theme={null}
  curl -i -X POST 'https://vestibule.mx.com/users/{user_guid}/members' \  -H 'Accept: application/vnd.mx.atrium.v1+json' \  -H 'Content-Type: application/json' \  -H 'MX-API-Key: {mx_api_key}' \  -H 'MX-Client-ID: {mx_client_id}' \  -d '{        "member": {          "institution_code": "mxbank",          "credentials": [            {              "guid": "CRD-1ec152cd-e628-e81a-e852-d1e7104624da",              "value": "ExampleUsername"            },            {              "guid": "CRD-1ec152cd-e628-e81a-e852-d1e7104624da",              "value": "Pa$$vv@Rd"            }          ],          "skip_aggregation": true        }      }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "member": {
      "aggregated_at": "2016-10-13T17:57:36+00:00",
      "connection_status": "CONNECTED",
      "guid": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b",
      "identifier": "unique_id",
      "institution_code": "mxbank",
      "is_being_aggregated": true,
      "metadata": "{\"credentials_last_refreshed_at\": \"2015-10-15\"}",
      "name": "MX Bank",
      "status": "INITIATED",
      "successfully_aggregated_at": null,
      "user_guid": "USR-fa7537f3-48aa-a683-a02a-b18940482f54"
    }
  }
  ```
</ResponseExample>
