canonical: https://jentic.com/apis/buffer.com/buffer

# Buffer API

Schedule, publish, and manage social media posts across multiple profiles from a single API with 18 endpoints. Queue content updates with specific scheduling times, reorder and shuffle post queues, track sent post analytics, and retrieve per-profile scheduling configurations. Supports posting to Twitter, Facebook, LinkedIn, and other connected social accounts through a unified content management interface.

## For AI agents

Schedule and publish posts across multiple social media profiles, manage content queues, and retrieve posting analytics. Covers 18 endpoints for unified social media management.

## Scope

Does not handle social listening, audience analytics, or direct messaging - use for content scheduling, queue management, and share tracking only.

## Capabilities

- Schedule posts to multiple social media profiles with custom publish times
- Retrieve pending and sent update queues for each connected profile
- Reorder and shuffle queued posts to optimize publishing sequence
- Track link sharing statistics across the platform via share count lookups
- Fetch per-profile schedule configurations including posting time slots
- Move high-priority updates to the top of the publishing queue
- Deauthorize user sessions for secure credential lifecycle management

## Use cases

### AI Agent Content Scheduling

An AI agent generates social media content and queues it for publishing across connected profiles by calling POST /updates/create with profile_ids, text content, and optional scheduled_at timestamps. Through Jentic, the agent discovers the scheduling operation by searching 'schedule social media post', loads the request schema with supported fields, and executes without manual API key management. Handles multi-profile posting in a single request.

Example prompt: Create a scheduled post via POST /updates/create with text 'Check out our latest blog post!' targeting profile_ids ['abc123', 'def456'] and scheduled_at set to tomorrow at 9:00 AM UTC

### Queue Management and Optimization

Retrieve pending posts for a profile via GET /profiles/{id}/updates/pending, then reorder them by priority using POST /profiles/{id}/updates/reorder or move individual posts to the top with POST /updates/{id}/move_to_top. Shuffle the entire queue randomly using POST /profiles/{id}/updates/shuffle for content variety. Supports queue manipulation without recreating posts.

Example prompt: Retrieve all pending updates for profile-id 'abc123' via GET /profiles/abc123/updates/pending and move update-id 'upd789' to the top via POST /updates/upd789/move_to_top

### Multi-Profile Publishing Analytics

Fetch sent post histories for each connected profile via GET /profiles/{id}/updates/sent with pagination to analyze publishing patterns and engagement. Retrieve profile-level schedule configurations showing posting time slots via GET /profiles/{id}/schedules. Compare performance across Twitter, Facebook, and LinkedIn profiles from a unified data source.

Example prompt: Retrieve the last 25 sent updates for profile-id 'abc123' via GET /profiles/abc123/updates/sent?count=25 and return the text and statistics for each

### Link Share Intelligence

Look up how many times a specific URL has been shared across the Buffer network using GET /links/shares with the url parameter. Provides aggregate share count data for content performance assessment and viral potential analysis before scheduling reposts or follow-up content.

Example prompt: Check how many times 'https://example.com/blog-post' has been shared via GET /links/shares?url=https://example.com/blog-post and return the shares count

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /updates/create | Create and schedule a new update |
| GET | /profiles/{id}/updates/pending | List pending updates for a profile |
| GET | /profiles/{id}/updates/sent | List sent updates for a profile |
| GET | /profiles | List all connected social profiles |
| POST | /updates/{id}/move_to_top | Move an update to top of queue |
| POST | /profiles/{id}/updates/reorder | Reorder updates in queue |
| GET | /links/shares | Get share count for a URL |
| GET | /user | Get authenticated user information |

## Key resources

- **Updates** — Create, schedule, reorder, share, and delete social media posts
- **Profiles** — List connected social accounts with their scheduling configurations
- **User** — Retrieve account information and deauthorize sessions
- **Links** — Look up share counts for URLs across the Buffer network
- **Info** — Retrieve platform configuration including supported services

## Why Jentic

- **Setup:** Wiring Buffer by hand means running its OAuth 2.0 authorization-code exchange, storing the per-user access token, and posting form-encoded updates to api.bufferapp.com yourself. Through Jentic you install once, import Buffer from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Buffer puts the profile id in the URL path (/profiles/{id}/updates/...), so a rule can pin your agent to one profile: it can queue and reorder pending updates for that profile and nothing else. You choose the operations it may call, so it can create and reorder updates without being able to move an update to the top of the queue unless you add that.
- **Credential handling:** Your Buffer OAuth access token is stored once, encrypted, by your own Jentic One instance and injected at execution time. The client secret and authorization code never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'schedule a social media post' or 'list pending updates', and Jentic returns the matching Buffer operation with its input schema including the profile and text fields so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twitter API v2** — Direct Twitter access for real-time features like streams and search not available through Buffer's scheduling layer
- **LinkedIn API** — Direct LinkedIn access for company page management and UGC posts beyond Buffer's scheduling capabilities
- **Sprout Social API** — Enterprise social media management platform with deeper analytics and team collaboration features

## FAQ

### What authentication does the Buffer API use?

The Buffer API uses OAuth 2.0 authorization code flow. After authorization, you receive an access_token that must be included as a query parameter or in the Authorization header for all requests. Tokens do not expire but can be revoked via POST /user/deauthorize. Through Jentic, OAuth tokens are stored encrypted in your Jentic One instance - agents receive scoped tokens without handling raw client secrets.

### Can I schedule posts to multiple social media platforms at once?

Yes. Use POST /updates/create with an array of profile_ids to schedule the same content to multiple connected profiles (Twitter, Facebook, LinkedIn, etc.) in a single request. Each profile publishes independently according to its configured schedule or the specified scheduled_at timestamp.

### What are the rate limits for the Buffer API?

The Buffer API enforces rate limits per access token. Standard limits allow approximately 60 requests per minute across all endpoints. The POST /updates/create endpoint has additional per-profile limits of 100 queued updates maximum. Rate limit headers are not explicitly documented, so monitor for 429 status codes.

### How do I schedule a social media post through Jentic?

Install the Jentic SDK with pip install jentic, then search for 'schedule a social media post'. Jentic returns the POST /updates/create operation with the full request schema showing required text, profile_ids array, and optional scheduled_at, media, and shorten fields. Load the schema and execute with your content. Get started with Jentic One, the self-hosted execution layer.

### Can I manage the order of queued posts?

Yes. Three queue manipulation endpoints are available: POST /profiles/{id}/updates/reorder lets you specify a complete ordering of update IDs, POST /updates/{id}/move_to_top moves a single update to publish next, and POST /profiles/{id}/updates/shuffle randomizes the entire queue order.

### Does the Buffer API provide posting analytics?

Yes. GET /profiles/{id}/updates/sent returns all published posts with their engagement statistics. Each sent update includes retweets, favorites, clicks, reach, and other platform-specific metrics. Use GET /links/shares to check how many times a specific URL has been shared across the Buffer network.

### Can I limit what my agent is allowed to do with the Buffer API?

Yes. Because your Jentic One instance is self-hosted, the operations and credentials it exposes to your agent are governed by your own rules, not a shared service. Buffer puts the profile id in the URL path (/profiles/{id}/updates/...), so a rule can pin your agent to a single profile, letting it queue and reorder pending updates for that profile and nothing else. You also decide which operations it may call, so you can allow it to create and reorder updates via POST /updates/create and POST /profiles/{id}/updates/reorder while withholding POST /updates/{id}/move_to_top unless you grant it.
