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

# Filtering Connected Accounts by Custom Metadata

> When listing connected accounts, you can filter by custom metadata.

When you use [List Connected Accounts](/api/connected_accounts/list), you can filter the list by one or more custom metadata pairs. Include the `custom_metadata_has` parameter with a JSON string that specifies the desired key:value pairs.

<Info>
  If the [Connect Webview](/core-concepts/connect-webviews/index) associated with a connected
  account contains custom metadata, Seam transfers this custom metadata to the
  connected account. However, you can also use the [Update Connected
  Account](/api/connected_accounts/update) method
  with the optional `custom_metadata` property to [change or add custom metadata
  for a connected account](./adding-custom-metadata-to-a-connected-account).
</Info>

**Request:**

<CodeGroup>
  ```javascript JavaScript theme={null}
  const connected_accounts = await seam.connectedAccounts.list({
    custom_metadata_has: {
      internal_account_id: 'user-1',
    },
  })

  console.log(connected_accounts)
  ```

  ```bash cURL theme={null}
  curl -X 'POST' \
    'https://connect.getseam.com/connected_accounts/list' \
    -H 'accept: application/json' \
    -H 'Authorization: Bearer ${API_KEY}' \
    -H 'Content-Type: application/json' \
    -d '{
    "custom_metadata_has": {
      "internal_account_id": "user-1"
    },
  }'
  ```

  ```python Python theme={null}
  connected_accounts = seam.connected_accounts.list(
    custom_metadata_has = {
      "internal_account_id": "user-1"
    }
  )

  pprint(connected_accounts)
  ```

  ```ruby Ruby theme={null}
  connected_accounts = client.connected_accounts.list(
    custom_metadata_has: {
      "internal_account_id": "user-1"
    }
  )

  puts connected_accounts.inspect
  ```

  ```php PHP theme={null}
  $accounts = $seam->connected_accounts->list(
    custom_metadata_has: array('internal_account_id' => 'user-1')
  );

  echo json_encode($accounts);
  ```

  ```csharp C# theme={null}
  var customMetadata = new Dictionary<string, string>()
  {
    {"internal_account_id", "user-1"}
  };

  var connectedAccounts = seam.ConnectedAccounts.List(
    customMetadataHas: customMetadata
  );

  foreach (var connectedAccount in connectedAccounts)
  {
    Console.WriteLine(connectedAccount);
  }
  ```
</CodeGroup>

**Response:**

<CodeGroup>
  ```json JavaScript theme={null}
  [
    {
      connected_account_id: 'c993818b-bf3c-4836-bef4-9a76d89bf1d3',
      created_at: '2024-01-05T07:20:07.692Z',
      user_identifier: { username: 'jane' },
      account_type: 'visionline',
      account_type_display_name: 'Visionline',
      errors: [],
      warnings: [],
      custom_metadata: { internal_account_id: 'user-1' },
      automatically_manage_new_devices: true
    },
    ...
  ]
  ```

  ```json cURL theme={null}
  {
    "connected_accounts": [
      {
        "connected_account_id": "c993818b-bf3c-4836-bef4-9a76d89bf1d3",
        "created_at": "2024-01-05T07:20:07.692Z",
        "user_identifier": {
          "username": "jane"
        },
        "account_type": "visionline",
        "account_type_display_name": "Visionline",
        "errors": [],
        "warnings": [],
        "custom_metadata": {
          "internal_account_id": "user-1"
        },
        "automatically_manage_new_devices": true
      },
      ...
    ],
    "ok": true
  }
  ```

  ```json Python theme={null}
  [ConnectedAccount(connected_account_id='c993818b-bf3c-4836-bef4-9a76d89bf1d3',
                    created_at='2024-01-05T07:20:07.692Z',
                    user_identifier={'username': 'jane'},
                    account_type='visionline',
                    errors=[],
                    custom_metadata={"internal_account_id": "user-1"}),
  ...]
  ```

  ```json Ruby theme={null}
  [<Seam::ConnectedAccount:0x004d8
    connected_account_id="c993818b-bf3c-4836-bef4-9a76d89bf1d3"
    created_at=2024-01-05 07:20:07.692 UTC
    user_identifier={"username"=>"jane"}
    account_type="visionline"
    errors=[]
    warnings=[]
    custom_metadata={"internal_account_id"=>"user-1"}>, ...]
  ```

  ```json PHP theme={null}
  [{"connected_account_id":"c993818b-bf3c-4836-bef4-9a76d89bf1d3","account_type":"visionline","user_identifier":{"username":"jane", "email":null,"phone":null},"errors":[],"warnings":[],"created_at":"2024-01-05T07:20:07.692Z","custom_metadata":{"internal_account_id":"user-1"},"automatically_manage_new_devices":true},...]
  ```

  ```json C# theme={null}
  {
    "connected_account_id": "c993818b-bf3c-4836-bef4-9a76d89bf1d3",
    "created_at": "2024-01-05T07:20:07.692Z",
    "user_identifier": {
      "username": "jane"
    },
    "account_type": "visionline",
    "account_type_display_name": "Visionline",
    "errors": [],
    "warnings": [],
    "custom_metadata": {
      "internal_account_id": "user-1"
    },
    "automatically_manage_new_devices": true
  }
  ...
  ```
</CodeGroup>
