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

# List Providers

`GET /api/v1/providers`

List all identity providers available to your Organization, including their license status.

## Query parameters

- `licensed` boolean

## Response `200`

OK

- ListProvidersResponse
  - `providers` Provider[], required — The list of providers available to this organization
    - `id` string, required — The unique identifier of the provider
    - `name` string, required — The display name of the provider
    - `logoUrl` string, required — The URL of the provider's logo
    - `subtext` string, required — The Provider's subtext recommended to be shown next to the name. This is flavor text, not a full, human-readable description of the provider.
    - `regions` string[], required — Specific regions supported by this provider
    - `countries` string[], required — The countries where this Provider is available (as alpha-2 ISO codes).
    - `subdivisions` string[], required — The subdivisions (states, provinces, etc.) where this Provider is available (as alpha-2 ISO codes).
    - `licensed` boolean, required — Whether this provider is licensed for use by your organization
    - `launchMethod` 'LaunchBrowser' | 'None' | 'DeeplinkToMobile' | 'ShowContent' | 'PerformNativeChallenge', required
    - `collectionMethod` 'PollResult' | 'CaptureRedirect' | 'SubmitNativeChallengeResponse', required
    - `resultsMayBeDelayedAfterRedirect` boolean, required — If `true`, then the results for this Provider may not be available immediately after the user is redirected back to your application. In this case, the `GetSessionResults` API must be called until results are available. This is an uncommon scenario, and only applies to Providers which cannot guarantee the availability of results immediately after the user is redirected back to your application.
    - `hasRefreshableContent` boolean, required — Relevant only to Direct Provider Sessions. Whether the Provider requires the `RefreshStepContent` capability. For example, Samsung Wallet's deep links expire every 30 seconds, and must be refreshed periodically for a resilient user flow.
    - `requiresInput` boolean, required — Relevant to Hosted Provider Sessions and Direct Provider Sessions. If `true`, this Provider requires provider-specific input on Session creation. If this input is not provided, Trinsic's Hosted UI will be invoked to collect the input from the user.
    - `hasTrinsicInterface` boolean, required — Whether there exists a Trinsic-hosted UI for this Provider. This is `true` for any Provider which is not a simple, OIDC-like redirect flow.
    - `supportsDirectProviderSessions` boolean, required — Whether this Provider can be fully whitelabeled/OEMed through the Direct Provider Sessions API. If `false`, the Provider may still be launched through Direct Provider Sessions; however, it will necessarily require a Trinsic-hosted UI to function.
    - `supportedLanguages` ProviderSupportedLanguage[], nullable — Languages supported by this Provider's Trinsic-hosted UI, as BCP 47 language codes.
      - `code` string, required — BCP 47 language code.
      - `label` string, nullable — Human-readable display label for the language.
    - `availableAttributes` ContractAttribute[], nullable — Information about the user attributes that this Provider will return in verification results.
      - `scope` string, required — The scope of the attribute as it appears in verification results.
      - `outputted` 'Never' | 'Sometimes' | 'Always', required — Indicates when an attribute will be available in verification results.
    - `availableAttachments` ContractAttachment[], nullable — Information about the attachments that this Provider will return in verification results.
      - `type` string, required — The type of the attachment as it appears in verification results. Possible values: - "selfie" - "document_front" - "document_back" - "document_portrait" - "document_signature" - "document_scan_report" Additional attachment types may be defined for specific Providers.
      - `outputted` 'Never' | 'Sometimes' | 'Always', required — Indicates when an attribute will be available in verification results.
    - `subProviders` SubProviderMetadata[], nullable — Metadata about the sub-providers which are available for this Provider in the current Environment. For example, Italy's SPID is a Provider which aggregates access to multiple sub-providers.
      - `id` string, required — The ID of the sub-provider. This cannot be used as a standalone Provider ID when creating a Session. It must be passed in via the Provider-specific input.
      - `name` string, required — The name of the sub-provider
      - `subtext` string, required — The Provider's subtext recommended to be shown next to the name. This is flavor text, not a full, human-readable description of the provider.
      - `logoUrl` string, required — A URL pointing to the logo on Trinsic's CDN. May be a PNG, JPG, or SVG image.
    - `liveHealth` 'Online' | 'Offline', required — The health for an integration to be able to successfully perform a verification session.
    - `testHealth` 'Online' | 'Offline', required — The health for an integration to be able to successfully perform a verification session.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal server error

---

[API](https://skmtc.dev/trinsic/apis/trinsic-api.md) · [All operations](https://skmtc.dev/trinsic/apis/trinsic-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trinsic/trinsic-api/revisions/e57fbc634d48/schema)
