# List FASP providers

Retrieves a list of all FASP providers with optional state filtering.

RBAC:
- requires ANY of Federation.Read, Federation.Manage

Endpoint: GET /api/v1/admin/fasp/providers
Version: 1.0
Security: header

## Query parameters:

  - `sortBy` (string,null)
    Sort field: createdAt, name, state

  - `sortOrder` (string,null)
    Sort order: asc or desc

  - `state` (string,null)
    Filter by single state
    Enum: "PENDING", "ACCEPTED", "BLOCKED"

  - `states` (array,null)
    Filter by multiple states
    Enum: "PENDING", "ACCEPTED", "BLOCKED"

## Response 200 fields (application/json):

  - `providers` (array, required)
    List of FASP providers

  - `providers.id` (integer, required)
    Provider ID

  - `providers.state` (string, required)
    Provider state
    Enum: "PENDING", "ACCEPTED", "BLOCKED"

  - `providers.name` (string, required)
    Provider name

  - `providers.baseUrl` (string, required)
    Provider base URL

  - `providers.signInUrl` (string,null, required)
    Provider sign-in URL

  - `providers.capabilities` (array, required)
    Provider capabilities

  - `providers.capabilities.id` (string, required)
    Capability ID

  - `providers.capabilities.version` (string, required)
    Capability version

  - `providers.capabilities.enabled` (boolean, required)
    Whether capability is enabled

  - `providers.contactEmail` (string,null, required)
    Contact email

  - `providers.fediverseAccount` (string,null, required)
    Fediverse account

  - `providers.subscriptions` (array, required)
    Active subscriptions for this provider

  - `providers.subscriptions.id` (integer, required)
    Subscription ID

  - `providers.subscriptions.category` (string, required)
    Content category
    Enum: "content", "account", "group", "unknown"

  - `providers.subscriptions.subscriptionType` (string, required)
    Subscription type
    Enum: "lifecycle", "trends"

  - `providers.subscriptions.createdAt` (string, required)
    When the subscription was created
    Example: "2022-03-10T16:15:50Z"

  - `providers.subscriptions.updatedAt` (string, required)
    When the subscription was last updated
    Example: "2022-03-10T16:15:50Z"

  - `providers.backfills` (array, required)
    Backfill requests for this provider

  - `providers.backfills.id` (integer, required)
    Backfill request ID

  - `providers.backfills.category` (string, required)
    Content category
    Enum: "content", "account", "group", "unknown"

  - `providers.backfills.fulfilled` (boolean, required)
    Whether backfill is fulfilled

  - `providers.backfills.processedCount` (integer, required)
    Number of items processed

  - `providers.backfills.createdAt` (string, required)
    When the backfill was requested
    Example: "2022-03-10T16:15:50Z"

  - `providers.backfills.updatedAt` (string, required)
    When the backfill was last updated
    Example: "2022-03-10T16:15:50Z"

  - `providers.lastErrorAt` (string,null, required)
    When the last client error occurred (null = healthy)
    Example: "2022-03-10T16:15:50Z"

  - `providers.createdAt` (string, required)
    When the provider was registered
    Example: "2022-03-10T16:15:50Z"

  - `providers.updatedAt` (string, required)
    When the provider was last updated
    Example: "2022-03-10T16:15:50Z"


