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

# List Recipients for a User

> List recipients created for a UserId

<Note>
  **Note – Endpoint returns filtered list by default**

  By default, this endpoint returns only recipients with the `RecipientScope` value of `PAYOUT`. Specify `ALL` to retrieve both `PAYIN` and `PAYOUT` recipients, or `PAYIN` to retrieve only pay-in recipients.

  By default, results are sorted by `CreationDate` in descending order.
</Note>

### Path parameters

<ParamField path="UserId" type="string" required>
  The unique identifier of the user.
</ParamField>

### Query parameters

<ParamField query="page" type="integer">
  Start value: `1`

  **Default value:** `1`

  Indicates the index of the page for the pagination.
</ParamField>

<ParamField query="per_page" type="integer">
  Min. value: `1`; max. value: `100`

  **Default value:** `10`

  Indicates the number of items returned for each page of the pagination.
</ParamField>

<ParamField query="Sort" type="string">
  **Possible values:** `CreationDate:ASC`, `CreationDate:DESC`

  **Default value:** `CreationDate:DESC`

  Indicates the direction in which to sort the list.
</ParamField>

<ParamField query="RecipientScope" type="string">
  **Possible values:** `ALL`, `PAYOUT`, `PAYIN`

  **Default value:** `PAYOUT`

  By default, this endpoint returns only recipients with the `RecipientScope` value of `PAYOUT`.

  Specify `ALL` to retrieve both `PAYIN` and `PAYOUT` recipients, or `PAYIN` to retrieve only pay-in recipients.

  Read more about [recipient scopes](/guides/sca/recipients#recipient-scopes) **→**
</ParamField>

### Responses

<AccordionGroup>
  <Accordion title="200" defaultOpen>
    <ResponseField name="Recipients" type="array (objects)" defaultOpen>
      The list of recipients created for the user.

      <Expandable>
        <ResponseField name="Id" type="string">
          Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details)

          The unique identifier of the object.
        </ResponseField>

        <ResponseField name="CreationDate" type="Unix timestamp">
          The date and time at which the object was created.
        </ResponseField>

        <ResponseField name="DisplayName" type="string">
          Length: 1–50; cannot contain: `&,'/` (pattern:`^(?!.*[&,'/]).{1,50}$`)

          A user-friendly name to identify the account. This value cannot be changed once the recipient is created.
        </ResponseField>

        <ResponseField name="PayoutMethodType" type="string">
          **Possible values:** `InternationalBankTransfer`, `LocalBankTransfer`

          The payout method of the recipient:

          * `LocalBankTransfer` – The account can **only** receive the corresponding local `Currency` for the `Country` via the [domestic payment rail](/guides/payouts#payout-rails) (e.g. `EUR` via a SEPA local scheme to a SEPA country, `GBP` via FPS to a `GB` account, `USD` via ACH to a `US` account, etc). Payouts in non-local currencies return an error.
          * `InternationalBankTransfer` – The account can receive both non-local currencies via SWIFT and also local currency via domestic rails.
        </ResponseField>

        <ResponseField name="RecipientType" type="string">
          **Possible values:** `Individual`, `Business`

          The recipient type:

          * `Individual` – An account held by a natural person, requiring the `IndividualRecipient` property.
          * `Business` – An account held by a legal entity, requiring the `BusinessRecipient` property.
        </ResponseField>

        <ResponseField name="Currency" type="string">
          **Possible values:** `AED`, `AUD`, `CAD`, `CHF`, `CNH`, `CZK`, `DKK`, `EUR`, `GBP`, `HKD`, `HUF`, `ILS`, `JPY`, `MXN`, `NOK`, `NZD`, `PLN`, `RON`, `SAR`, `SEK`, `SGD`, `TRY`, `USD`, `ZAR`

          The currency of the recipient.
        </ResponseField>

        <ResponseField name="Country" type="string">
          Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats))

          The destination country of the payout method.
        </ResponseField>

        <ResponseField name="UserId" type="string">
          The unique identifier of the user.
        </ResponseField>

        <ResponseField name="Status" type="string">
          **Possible values:** `PENDING`, `CANCELED`, `ACTIVE`, `DEACTIVATED`

          The status of the recipient:

          * `PENDING` – For `PAYOUT` scope recipients, the user must complete SCA before the recipient can become `ACTIVE`. For `PAYIN` scope recipients, the recipient creation is in progress.
          * `CANCELED` – SCA was not successfully completed and the recipient creation request was canceled. To retry, create another recipient to retrieve another `PendingUserAction.RedirectUrl`. The `CANCELED` status does not apply if `RecipientScope` is `PAYIN`.
          * `ACTIVE` – Recipient creation was successful (including SCA if `RecipientScope` is `PAYOUT`) and the recipient is ready to be used for payouts .
          * `DEACTIVATED` – The recipient has been permanently deactivated and can no longer be used.
        </ResponseField>

        <ResponseField name="RecipientScope" type="string">
          **Possible values:** `PAYIN`, `PAYOUT`

          **Default value:** `PAYOUT`

          The scope of the recipient:

          * `PAYOUT` – Usable for payouts and in pay-in use cases. A `PAYOUT` recipient can only be created by a user with the `UserCategory` `OWNER` and requires SCA. You need to use the returned `PendingUserAction.RedirectUrl` value, adding your encoded `returnUrl` as a query parameter, to redirect the user to the [hosted SCA session](/guides/sca/session) so they can complete the necessary steps.
          * `PAYIN` - Not usable for payouts but only usable for pay-in use cases, such as direct debit and refunds using payouts. A `PAYIN` recipient can be created by a user with the `UserCategory` `PAYER` or `OWNER`, and does not require SCA.

          Both `PAYIN` and `PAYOUT` scopes can be created for either `InternationalBankTransfer` or `LocalBankTransfer`, and for either `IndividualRecipient` or `BusinessRecipient`, and for any `Currency`.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Accordion>
</AccordionGroup>

<ResponseExample>
  ```json 200 Including legacy migrated bank account theme={null}
  [
      {
          "Id": "rec_01JV6ZZG6W0RKG6ZGA3MEY60BZ",
          "CreationDate": 1746699783,
          "DisplayName": "Alex Smith USD account",
          "PayoutMethodType": "LocalBankTransfer",
          "RecipientType": "Individual",
          "Currency": "USD",
          "Country": "US",
          "UserId": "user_m_01JV6ZGXBE0VZSF4TEN9JK343Z",
          "Status": "CANCELED",
          "RecipientScope": "PAYOUT"
      },
      {
          "Id": "rec_01JV70P7J10PRZP0JQQ9CQZFN8",
          "CreationDate": 1746622392,
          "DisplayName": "Alex Smith EUR account",
          "PayoutMethodType": "InternationalBankTransfer",
          "RecipientType": "Business",
          "Currency": "EUR",
          "Country": "FR",
          "UserId": "user_m_01JV6ZGXBE0VZSF4TEN9JK343Z",
          "Status": "ACTIVE",
          "RecipientScope": "PAYOUT"
      },
      {
          "Id": "bankacc_m_01JCN1X2EHWG0JNJNPNQ21CW5G",
          "CreationDate": 1723035193,
          "DisplayName": null,
          "PayoutMethodType": "LocalBankTransfer",
          "RecipientType": "Individual",
          "Currency": "EUR",
          "Country": "FR",
          "UserId": "user_m_01JV6ZGXBE0VZSF4TEN9JK343Z",
          "Status": "ACTIVE",
          "RecipientScope": "PAYOUT"
      }
  ]
  ```
</ResponseExample>

<RequestExample>
  ```json REST theme={null}
  // GET has no body parameters
  ```

  ```javascript NodeJS   theme={null}
  const mangopayInstance = require('mangopay4-nodejs-sdk')
  const mangopay = new mangopayInstance({
    clientId: 'your-mangopay-client-id',
    clientApiKey: 'your-mangopay-api-key',
  })

  let user = {
    Id: "user_m_01JZ8AVM2Y1RWVY1RT396BYW9V",
  };

  const listUserRecipients = async (userId) => {
    return await mangopay.Recipients.getUserRecipients(userId)
      .then((response) => {
        console.info(response);
        return response;
      })
      .catch((err) => {
        console.log(err);
        return false;
      });
  };

  listUserRecipients(user.Id);
  ```
</RequestExample>
