Logo

Buffer

Authentication Type: API Token
Description: Social media management platform for scheduling posts, managing queues, and publishing content across connected social channels.


Authentication

To authenticate, you'll need a Buffer access token. You can generate one from the Buffer Developer Portal.

Required Scopes:

  • publish - Create and schedule posts to connected channels

Posts

Create and schedule content across your Buffer-connected social channels.

Create Post

Create a new post on a Buffer channel. Supports adding to the queue, posting immediately, scheduling for a custom time, or saving as a draft.

Operation Type: Mutation (Write)

Parameters:

  • channelId string (required): The ID of the channel to post to
  • text string (required): The text content of the post
  • mode enum (nullable): How to share the post. Defaults to addToQueue
    • Options: "addToQueue", "shareNow", "shareNext", "customScheduled"
    • When "customScheduled", the dueAt field is required
  • schedulingType enum (nullable): How to trigger scheduling. Omit to use your Buffer account default
    • Options: "notification" (mobile push), "automatic"
  • dueAt string (nullable): ISO 8601 datetime for when to publish. Required when mode is "customScheduled"
  • saveToDraft boolean (nullable): Save as a draft instead of scheduling

Returns:

  • success boolean: Whether the post was created successfully
  • post object (nullable): The created post, present when success is true
    • id string: Post identifier
    • status string: Post status (e.g., "buffer", "scheduled", "sent")
    • dueAt string | null: Scheduled publish time in ISO 8601 format, or null for immediate posts
    • text string: Post text content
    • channelId string: ID of the channel the post is on
    • channelService string: Social network (e.g., "twitter", "instagram")
    • shareMode string: The share mode used
  • errorType string (nullable): Error type identifier when success is false
  • message string (nullable): Error message when success is false

Example Usage:

{
  "channelId": "ch_abc123",
  "text": "Excited to share our latest update! #product",
  "mode": "customScheduled",
  "dueAt": "2025-09-01T10:00:00Z"
}

Error types returned in the response (not thrown):

errorTypeMeaning
NotFoundErrorChannel not found
UnauthorizedErrorMissing or invalid token
InvalidInputErrorBad request parameters
LimitReachedErrorPlan post limit exceeded
UnexpectedError / RestProxyErrorUnexpected API failure

Account

Get Account

Retrieve the details of the authenticated Buffer account, including all organizations the account belongs to.

Operation Type: Query (Read)

Parameters:

  • None

Returns:

  • id string: Account identifier
  • email string: Account email address
  • name string: Account display name
  • timezone string: Account timezone
  • organizations array of objects: Organizations the account belongs to
    • id string: Organization identifier
    • name string: Organization name
    • ownerEmail string: Email of the organization owner
    • channelCount number: Number of channels in the organization

Example Usage:

{}

Channels

List Channels

List all social media channels connected to a Buffer organization.

Operation Type: Query (Read)

Parameters:

  • organizationId string (required): The organization ID to list channels for

Returns:

  • channels array of objects: Connected social channels
    • id string: Channel identifier
    • name string: Channel name (handle or username)
    • displayName string: Human-readable display name
    • service string: Social network (e.g., "twitter", "instagram", "linkedin")
    • type string: Channel type
    • timezone string: Channel timezone
    • isDisconnected boolean: Whether the channel is disconnected
    • isLocked boolean: Whether the channel is locked
    • isQueuePaused boolean: Whether the posting queue is paused

Example Usage:

{
  "organizationId": "org_xyz789"
}

Common Use Cases

Scheduled Social Campaigns:

  • Use List Channels to find the right channel ID, then Create Post with mode: "customScheduled" and a future dueAt to queue posts at specific times

Queue Management:

  • Add posts with mode: "addToQueue" to let Buffer space them out automatically according to your channel's posting schedule

Draft Workflow:

  • Set saveToDraft: true to create posts for review before publishing — drafts will not be scheduled or sent

Account Discovery:

  • Call Get Account to discover your organization IDs, then List Channels to enumerate all connected social profiles