Skip to main content
Channels are the social media accounts connected to your Volta organization. The channel endpoints let you retrieve the list of active channels (to get IDs for scheduling posts), discover which platform connectors are available and configured on your instance, kick off the OAuth authorization flow to connect a new account, and pull platform-specific analytics data for any connected channel.

GET /public/v1/integrations

Returns all channels that are currently connected to your organization. You will need the channel id values when scheduling posts with POST /public/v1/posts.

Example

curl https://your-instance.com/public/v1/integrations \
  -H 'Authorization: your-api-key'

Response

[
  {
    "id": "ch_abc123",
    "name": "My Twitter",
    "providerIdentifier": "x",
    "profile": "@myhandle",
    "picture": "https://your-instance.com/uploads/avatars/myhandle.jpg"
  },
  {
    "id": "ch_def456",
    "name": "Company LinkedIn",
    "providerIdentifier": "linkedin",
    "profile": "company-slug"
  }
]
id
string
The unique channel identifier. Pass this value as integration.id when creating a post.
name
string
The human-readable name you assigned to this channel in Volta.
providerIdentifier
string
The platform identifier (e.g. "x", "linkedin", "instagram").
profile
string
The platform-specific handle or slug for the connected account.
picture
string
URL of the profile picture for this channel, if available.

GET /public/v1/connectors

Returns the full list of connector types available on your Volta instance. Each connector entry describes a supported platform, its authorization status (whether OAuth credentials have been configured), and the capabilities it offers (e.g. text posts, image posts, scheduling). This endpoint is particularly useful in agent workflows where you need to discover which platforms are ready to use before attempting to schedule a post or trigger an authorization flow.

Example

curl https://your-instance.com/public/v1/connectors \
  -H 'Authorization: your-api-key'

Response

[
  {
    "id": "x",
    "name": "X (Twitter)",
    "authorized": true,
    "capabilities": ["text", "image", "video"]
  },
  {
    "id": "bluesky",
    "name": "Bluesky",
    "authorized": false,
    "capabilities": ["text", "image"]
  }
]

POST /public/v1/connectors/:id/authorize

Starts the OAuth authorization flow for a connector so you can connect a new account of that platform type. If the connector is already authorized, the response confirms this immediately without redirecting.

Path parameters

id
string
required
The connector identifier (e.g. "x", "linkedin", "instagram"). Retrieve available connector IDs from GET /public/v1/connectors.

Example

curl -X POST https://your-instance.com/public/v1/connectors/linkedin/authorize \
  -H 'Authorization: your-api-key'

Response

When the connector requires OAuth, the response contains a URL to redirect the user to:
{ "url": "https://www.linkedin.com/oauth/v2/authorization?client_id=..." }
If the connector is already authorized, the response is:
{ "authorized": true }
For platforms that use credential-based authentication (Bluesky, Telegram, Nostr, and others), you configure credentials directly in the Volta dashboard rather than through this endpoint.

GET /public/v1/connectors/:id/analytics

Returns platform-specific analytics data for a connected channel on a given date. The shape of the response varies by platform depending on what metrics the provider exposes (impressions, engagement, follower growth, etc.).

Path parameters

id
string
required
The ID of the connected channel. Use the id returned by GET /public/v1/integrations.

Query parameters

date
string
required
The date for which to retrieve analytics, in YYYY-MM-DD format (e.g. "2025-01-15").

Example

curl 'https://your-instance.com/public/v1/connectors/ch_abc123/analytics?date=2025-01-15' \
  -H 'Authorization: your-api-key'

Response

The response is an object whose shape is determined by the platform. Common fields include impressions, likes, shares, and follower counts, but the exact fields differ per provider.
{
  "date": "2025-01-15",
  "impressions": 4200,
  "likes": 87,
  "reposts": 12,
  "followers": 3105
}
Analytics availability depends on whether the platform exposes a reporting API and whether the connected account has sufficient permissions. Some platforms only provide analytics for business or creator accounts.