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

# List provider capabilities

`GET /api/v1/providers`

## Request

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

List provider capabilities.

## Query parameters

- `limit` integer
- `cursor` string

## Headers

- `X-Request-ID` string

## Response `200`

Provider collection

- ProvidersResponse
  - `data` object[], required
    - `id` string, required
    - `displayName` string, required
    - `connectionMethod` 'oauth' | 'app-password', required
    - `configured` boolean, required
    - `oauthless` boolean, required
    - `publishable` boolean, required
    - `editor` 'none' | 'normal' | 'markdown' | 'html', required
    - `maxTextLength` integer, required
    - `requiredScopes` string[], required
    - `publishingContract` object, nullable, required
      - `settingsType` string, required
      - `settingsSchema` object, required
      - `postSchema` object, required
      - `fields` object[], required
        - `key` string, required
        - `label` string, required
        - `type` 'text' | 'select' | 'textarea' | 'checkbox' | 'switch' | 'tags' | 'hidden', required
        - `required` boolean, required
        - `placeholder` string
        - `description` string
        - `options` object[]
          - `value` string, required
          - `label` string, required
        - `defaultValue` unknown
        - `maxLength` integer
      - `media` object, required
        - `maxImages` integer, required
        - `maxVideos` integer, required
        - `maxTotal` integer, required
        - `requiresMedia` boolean, required
        - `allowMixedMedia` boolean, required
        - `allowedKinds` string[], required
        - `accept` string, required
        - `maxFileSizeBytes` integer
        - `maxVideoDurationSeconds` number
        - `aspectRatios` object[]
          - `width` number, required
          - `height` number, required
          - `label` string, required
    - `capabilities` object, required
      - `connect.oauth` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `connect.app-password` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `token.refresh` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `publishing.create` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `publishing.status` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `publishing.configuration` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `analytics.sync` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `inbox.sync` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `inbox.reply` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `inbox.send-message` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `inbox.react` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `inbox.hide` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `inbox.delete` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
      - `inbox.attachments` object, required
        - `capability` 'connect.oauth' | 'connect.app-password' | 'token.refresh' | 'publishing.create' | 'publishing.status' | 'publishing.configuration' | 'analytics.sync' | 'inbox.sync' | 'inbox.reply' | 'inbox.send-message' | 'inbox.react' | 'inbox.hide' | 'inbox.delete' | 'inbox.attachments', required
        - `supported` boolean, required
        - `configured` boolean, required
        - `requiredScopes` string[], required
        - `access` 'public' | 'review' | 'partner', nullable, required
        - `reason` string, nullable, required
  - `meta` object, required
    - `requestId` string, required
    - `pagination` object, required
      - `limit` integer, required
      - `hasMore` boolean, required
      - `nextCursor` string, nullable, required

## Other responses

- `400`: Invalid query, request body, JSON, or request identity.
- `401`: Missing or invalid authentication.
- `403`: Authentication lacks the required role or API-key scope.
- `404`: Resource or tenant path is hidden or absent.
- `409`: Lifecycle, idempotency, or concurrent-state conflict.
- `429`: The API-key operation exhausted its fixed-window quota.
- `500`: Internal or upstream failure.

---

[API](https://skmtc.dev/blendduck/apis/blendduck-public-api.md) · [All operations](https://skmtc.dev/blendduck/apis/blendduck-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blendduck/apis/blendduck-public-api/revisions/3b49354699da?raw)
