---
title: "List providers"
method: GET
path: "/providers"
tags: ["Providers"]
---

# List providers

`GET /providers`

## Request

- Base URL: `https://api.metorial.com`
- URL: `https://api.metorial.com/providers`
- Auth: HTTP bearer

Returns a paginated list of providers.

## Query parameters

- `limit` number
- `after` string
- `before` string
- `cursor` string
- `order` 'asc' | 'desc'
- `id` union
  - string
  - string[]
- `search` string
- `auth_method` union
  - string
  - string[]
- `auth_setup` union
  - 'configured' | 'not_configured'
  - string[]

## Headers

- `Metorial-Version` string

## Response `200`

Successful response

- ProviderList
  - `items` Item25[], required
    - `object` 'provider', required: String representing the object's type
    - `id` string, required: Unique provider identifier
    - `access` 'public' | 'tenant', required: Access level of the provider
    - `status` 'active' | 'archived' | 'deleted', required: Current status of the provider
    - `publisher` Publisher, required
      - `object` 'provider.publisher', required: String representing the object's type
      - `id` string, required: Unique publisher identifier
      - `name` string, required: Display name of the publisher
      - `description` string, nullable, required: Brief description of the publisher
      - `image_url` string, required: URL of the publisher logo
      - `created_at` string, date-time, required: Timestamp when created
      - `updated_at` string, date-time, required: Timestamp when last updated
    - `current_version` object, nullable, required
      - `object` 'provider.version', required: String representing the object's type
      - `id` string, required: Unique version identifier
      - `version` string, required: Version identifier string
      - `provider_id` string, required: Provider ID
      - `is_current` boolean, required: Whether this is the current version
      - `name` string, required: Version name
      - `description` string, nullable, required: Version description
      - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
      - `specification_id` string, nullable, required: Specification ID
      - `created_at` string, date-time, required: Timestamp when created
      - `updated_at` string, date-time, required: Timestamp when last updated
    - `oauth` object, nullable, required
      - `status` 'enabled' | 'disabled', required: OAuth status
      - `callback_url` string, nullable, required: OAuth callback URL
      - `auto_registration` object, required
        - `status` 'supported' | 'unsupported', required: Auto-registration status
    - `identifier` string, required: Provider identifier
    - `name` string, required: Display name of the provider
    - `description` string, nullable, required: Brief description of the provider
    - `slug` string, required: URL-friendly identifier
    - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
    - `created_at` string, date-time, required: Timestamp when created
    - `updated_at` string, date-time, required: Timestamp when last updated
  - `pagination` object, required
    - `has_more_before` boolean, required
    - `has_more_after` boolean, required

## Other responses

- `400`: Invalid parameters or action
- `401`: Missing or invalid API key
- `403`: The key lacks permission for this resource
- `404`: No such resource
- `422`: Validation failed
- `429`: Rate limit exceeded
- `500`: Unexpected server error

---

[API](https://skmtc.dev/metorial/apis/metorial-api.md) - [All operations](https://skmtc.dev/metorial/apis/metorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/metorial/apis/metorial-api/revisions/10ccc89f3eac?raw)
