# List Providers

Launch stage: GA

`GET /api/2.1/unity-catalog/providers`

Gets an array of available authentication providers.
 The caller must either be a metastore admin, have the **USE_PROVIDER** privilege on the providers,
 or be the owner of the providers. Providers not owned by the caller and for which the caller does
 not have the **USE_PROVIDER** privilege are not included in the response.
 There is no guarantee of a specific ordering of the elements in the array.

API scopes: sharing

## Query parameters

- `data_provider_global_metastore_id` (string, optional)
  If not provided, all providers will be returned.
   If no providers exist with this ID, no results will be returned.
- `max_results` (int32, optional)
  Maximum number of providers to return.
    - when set to 0, the page length is set to a server configured value (recommended);
    - when set to a value greater than 0, the page length is the minimum of this value and a server configured value;
    - when set to a value less than 0, an invalid parameter error is returned;
    - If not set, all valid providers are returned (not recommended).
    - Note: The number of returned providers might be less than the specified max_results size, even zero.
   The only definitive indication that no further providers can be fetched is when the next_page_token is unset from the response.
  Constraints: `<= 1000`
- `page_token` (string, optional)
  Opaque pagination token to go to next page based on previous query.

## Returns

- `providers` (array of object, optional)
  An array of provider information objects.
  - `name` (string, optional)
    The name of the Provider.
  - `authentication_type` (string, optional)
    Possible values: `TOKEN`, `DATABRICKS`, `OIDC_FEDERATION`, `OAUTH_CLIENT_CREDENTIALS`
  - `recipient_profile_str` (string, optional)
    This field is required when the __authentication_type__ is **TOKEN**, **OAUTH_CLIENT_CREDENTIALS** or not provided.
  - `comment` (string, optional)
    Description about the provider.
  - `owner` (string, optional)
    Username of Provider owner.
  - `recipient_profile` (object, optional)
    The recipient profile. This field is only present when the authentication_type is `TOKEN` or `OAUTH_CLIENT_CREDENTIALS`.
    - `share_credentials_version` (int32, optional)
      The version number of the recipient's credentials on a share.
    - `endpoint` (string, optional)
      The endpoint for the share to be used by the recipient.
    - `bearer_token` (string, optional)
      The token used to authorize the recipient.
  - `created_at` (int64, optional)
    Time at which this Provider was created, in epoch milliseconds.
  - `created_by` (string, optional)
    Username of Provider creator.
  - `updated_at` (int64, optional)
    Time at which this Provider was created, in epoch milliseconds.
  - `updated_by` (string, optional)
    Username of user who last modified Provider.
  - `cloud` (string, optional)
    Cloud vendor of the provider's UC metastore. This field is only present when the __authentication_type__ is **DATABRICKS**.
  - `region` (string, optional)
    Cloud region of the provider's UC metastore. This field is only present when the __authentication_type__ is **DATABRICKS**.
  - `metastore_id` (string, optional)
    UUID of the provider's UC metastore. This field is only present when the __authentication_type__ is **DATABRICKS**.
  - `data_provider_global_metastore_id` (string, optional)
    The global UC metastore id of the data provider. This field is only present when the __authentication_type__ is **DATABRICKS**. The identifier is of format __cloud__:__region__:__metastore-uuid__.
- `next_page_token` (string, optional)
  Opaque token to retrieve the next page of results. Absent if there are no more pages.
   __page_token__ should be set to this value for the next request (for the next page of results).

## Response

```json
{
  "providers": [
    {
      "name": "string",
      "authentication_type": "string",
      "recipient_profile_str": "string",
      "comment": "string",
      "owner": "string",
      "recipient_profile": {},
      "created_at": 0,
      "created_by": "string",
      "updated_at": 0,
      "updated_by": "string",
      "cloud": "string",
      "region": "string",
      "metastore_id": "string",
      "data_provider_global_metastore_id": "string"
    }
  ],
  "next_page_token": "string"
}
```

