---
title: "List provider publishing capabilities"
method: GET
path: "/capabilities"
tags: ["Capabilities"]
---

# List provider publishing capabilities

`GET /capabilities`

## Request

- Base URL: `https://app.openpo.st/api/v1`
- URL: `https://app.openpo.st/api/v1/capabilities`
- Auth: none required

## Response `200`

OK

- CapabilitiesOutputBody
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `capabilities` Capability[], nullable, required: Provider/profile capability matrix
    - `capability_revision` string, required
    - `caveats` string[], nullable
    - `content` ContentConstraint, required
      - `alt_text` TextConstraint, required
        - `max_length` integer
        - `min_length` integer
        - `recommended_max_length` integer
        - `required` boolean, required
      - `body` TextConstraint, required
        - `max_length` integer
        - `min_length` integer
        - `recommended_max_length` integer
        - `required` boolean, required
      - `description` TextConstraint, required
        - `max_length` integer
        - `min_length` integer
        - `recommended_max_length` integer
        - `required` boolean, required
      - `title` TextConstraint, required
        - `max_length` integer
        - `min_length` integer
        - `recommended_max_length` integer
        - `required` boolean, required
    - `description_required` boolean
    - `expires_at` string
    - `intents` string[], nullable, required
    - `label` string, required
    - `media` MediaConstraint, required
      - `allowed_audio_codecs` string[], nullable
      - `allowed_mimes` string[], nullable, required
      - `allowed_video_codecs` string[], nullable
      - `aspect_ratios` string[], nullable
      - `audio_policy` 'optional' | 'required' | 'forbidden'
      - `max_count` integer, required
      - `max_duration_seconds` integer
      - `max_frame_rate` number, double
      - `max_height` integer
      - `max_image_size_bytes` integer
      - `max_short_side` integer: Maximum image dimension on its shorter side
      - `max_size_bytes` integer
      - `max_video_aspect_ratio` string
      - `max_width` integer
      - `min_count` integer, required
      - `min_height` integer
      - `min_video_aspect_ratio` string
      - `min_width` integer
      - `requires_https_fetchable` boolean, required
      - `requires_public_url` boolean, required
      - `video_exclusive` boolean: A video must be the only attachment in a segment
    - `media_shapes` string[], nullable, required
    - `metadata` object
    - `native_scheduling` boolean, required
    - `openpost_queued` boolean, required
    - `output_profile` string, required
    - `profile` string, required
    - `provider` string, required
    - `requires_app_review` boolean, required
    - `requires_public_media` boolean, required
    - `settings` SettingDefinition[], nullable
      - `access_requirements` string[], nullable
      - `capability` string
      - `conflicts` SettingCondition[], nullable
        - `key` string, required
        - `operator` 'equals' | 'not_equals' | 'present' | 'absent' | 'in', required
        - `value` unknown
      - `constraints` SettingConstraint
        - `accept` string[], nullable
        - `date_time` boolean: Value must be an RFC 3339 timestamp with a timezone
        - `local_date_time` boolean
        - `max_items` integer
        - `max_length` integer
        - `maximum` number, double
        - `min_items` integer
        - `min_length` integer
        - `minimum` number, double
        - `pattern` string
        - `unique_items` boolean
      - `control` string, required
      - `default` unknown
      - `dependencies` SettingCondition[], nullable
        - `key` string, required
        - `operator` 'equals' | 'not_equals' | 'present' | 'absent' | 'in', required
        - `value` unknown
      - `group` 'content' | 'conversation' | 'distribution' | 'disclosure' | 'media_accessibility', required
      - `help` string
      - `intents` string[], nullable
      - `key` string, required
      - `label` string, required
      - `media_shapes` string[], nullable
      - `message_key` string, required
      - `options` string[], nullable
      - `options_source` string
      - `output_profiles` string[], nullable
      - `post_only` boolean: Choose this setting on each post, never in reusable Social Set defaults
      - `required` boolean, required
      - `required_policy` 'never' | 'always' | 'when_available'
      - `scope` 'destination' | 'segment' | 'media_item', required
      - `type` string, required
      - `unavailable_reason` string
    - `text_limit` integer
    - `title_required` boolean
    - `unavailable_reason` string
    - `validation_categories` string[], nullable
  - `profiles` Profile[], nullable, required: Content profiles supported by OpenPost
    - `description` string, required
    - `key` string, required
    - `name` string, required

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/openpo/apis/openpost-api.md) · [All operations](https://skmtc.dev/openpo/apis/openpost-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openpo/apis/openpost-api/revisions/67d3964458a7?raw)
