> ## Documentation Index
> Fetch the complete documentation index at: https://grow-hub.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Connection tools

> Link, inspect, and revoke the platform accounts a studio posts to.

## list\_connections

Lists the platforms this studio has connected. Open to any member.

```json Result theme={null}
[
  {
    "platform": "linkedin",
    "authorUrn": "urn:li:person:AbC123",
    "connectedAt": "2026-08-01T10:22:31.000Z"
  }
]
```

`authorUrn` is the platform-side account posts are attributed to. Tokens are
never returned.

## connect\_platform

Starts a browser OAuth flow and returns a URL for the user to open.

<ParamField body="platform" type="enum" required>
  `linkedin` or `x`.
</ParamField>

```json Result theme={null}
{
  "platform": "linkedin",
  "url": "https://www.linkedin.com/oauth/v2/authorization?…",
  "message": "Open this URL in a browser to authorize linkedin. …"
}
```

<Info>
  Requires `owner` or `admin`. A `member` gets `forbidden`.
</Info>

The flow is not complete when the tool returns — the user has to open the link
and authorize. Confirm with `list_connections` afterwards; the platform appears
only once the callback succeeded.

Connecting the same platform again replaces the stored credentials, which is the
fix for an expired or revoked token.

## disconnect\_platform

Deletes Studio's stored credentials for a platform.

<ParamField body="platform" type="enum" required>
  `linkedin` or `x`.
</ParamField>

Returns `{ "disconnected": "linkedin" }`, or `not_connected` if the platform
was never linked.

<Warning>
  Requires `owner` or `admin`. Disconnecting does not unschedule anything —
  posts already scheduled to that platform will fail at dispatch with
  `not_connected`. Unschedule them first, or reconnect before they fire.
</Warning>

Posts already published stay live on the platform; Studio just loses the ability
to publish new ones.
