---
title: "One platform's capabilities (public)"
method: GET
path: "/v1/platforms/{platform}"
tags: ["Platforms"]
---

# One platform's capabilities (public)

`GET /v1/platforms/{platform}`

## Request

- Base URL: `https://api.postlake.dev`
- URL: `https://api.postlake.dev/v1/platforms/{platform}`
- Auth: none required

## Path parameters

- `platform` string, required

## Response `200`

Success

- PlatformCapabilities: What one platform supports: limits, media rules, and every platformOptions field with its valid values.
  - `platform` 'bluesky' | 'threads' | 'x' | 'linkedin' | 'instagram' | 'tiktok' | 'facebook' | 'youtube' | 'pinterest', required
  - `displayName` string, required
  - `connectionAvailability` object: Public rollout status and connection eligibility for the authenticated account. Capability support and rollout availability are separate. Buying credits or a plan does not grant rollout access.
    - `status` 'public' | 'limited', required
    - `reason` 'provider_app_review' | 'not_publicly_available' | 'null', nullable, required
    - `accountCanConnect` boolean, required
    - `purchaseUnlocksAccess` false, required
  - `maxChars` integer, required
  - `charsByPostType` object
    - `video` integer
    - `image` integer
  - `title` object
    - `maxChars` integer
    - `appliesTo` string
  - `media` object, required
    - `required` boolean
    - `videoRequired` boolean
    - `maxImages` integer
    - `maxVideos` integer
    - `imageTypes` string[]
    - `videoTypes` string[]
    - `maxImageBytes` integer
    - `maxVideoBytes` integer
    - `maxVideoSeconds` integer
  - `postsPerDay` integer
  - `postsPerDayScope` 'account' | 'app': account is that connected social user. app is the whole PostLake project (YouTube uploads).
  - `asyncPublish` boolean
  - `options` object[], required
    - `id` string, required
    - `type` 'string' | 'boolean' | 'enum' | 'number', required
    - `label` string, required
    - `values` string[]
    - `default` unknown
    - `appliesTo` string
    - `maxLength` integer
    - `description` string
  - `notes` string[]
  - `pendingReview` object: Capabilities that are built and tested but waiting on a platform permission. Keyed like the flags (reads.comments, messages). Absent or empty when nothing is waiting.
  - `firstComment` boolean: A comment can be posted under the post in the same call.
  - `deletePost` boolean: A published post can be retracted through the API.
  - `thread` boolean: A chain of posts can be published as one.
  - `replyToComment` boolean
  - `hideComments` boolean: A reply on your own post can be hidden and unhidden.
  - `editProfile` boolean
  - `messages` boolean: Direct messages can be read and sent.
  - `engages` string[]: Which actions POST /v1/engagements accepts on this network.
  - `reads` object: Which of your own surfaces can be read.
    - `notifications` boolean
    - `comments` boolean
    - `followers` boolean
    - `following` boolean
  - `discovers` object: Which parts of the public network can be searched, so an agent can look before it speaks.
    - `posts` boolean
    - `profiles` boolean
    - `profilePosts` boolean
    - `places` boolean
    - `creators` boolean: Find creators through the network's creator marketplace.
  - `variants` object[]: Where a network can be connected in more than one way, the ways it offers. What a connection can do depends on HOW it was made, not only on which network it is: an Instagram account connected through Facebook can search, look people up and read insights, while the same account connected directly cannot. Absent when a network has only one way in.
    - `id` string, required: Pass as `variant` when creating a connect link.
    - `label` string, required: What to call this choice to a person.
    - `requires` string[]: What the person must already have for this way to work.
    - `then` string: What happens next when they choose it.
    - `summary` string: What this way of connecting can do, in one line.
    - `available` string[]: Features available through this connection, suitable for a user-facing comparison.
    - `unavailable` string[]: Features unavailable through this connection.
    - `conditions` string[]: Optional account setup the user can complete to enable specific features.
    - `only` string[]: Capabilities this way unlocks that the others do not.
    - `note` string

## Other responses

- `404`: Unknown platform

---

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