- Home
- Developers
- Introduction
Introduction
Automate social media publishing with the Maeve Social API
The Maeve Social API lets you programmatically manage workspaces, integrations, content, media, analytics, inbox workflows, and client review operations.
What you can do
- Create and schedule content: Create drafts, schedule content, publish immediately, update metadata, and retry failed content.
- Upload media: Create upload sessions, upload files to presigned URLs, then attach media to content with
contentMedia. - Manage integrations: List connected social accounts, inspect publishing capabilities, and fetch safe dynamic provider options.
- Use Maeve API keys: Authenticate server-to-server automation with workspace-granted API keys.
Base URL
All public API requests go to:
https://api.maevesocial.com/v1Workspace-scoped resources use the workspace ID in the path:
/v1/workspaces/{workspaceId}/content
/v1/workspaces/{workspaceId}/media
/v1/workspaces/{workspaceId}/integrationsUse GET /v1/workspaces first to discover the workspace IDs your credential can access.
Response format
Successful responses use a consistent envelope:
{
"data": { "id": "resource-uuid" },
"meta": null
}Paginated list responses include pagination details in meta:
{
"data": [],
"meta": {
"limit": 20,
"offset": 0,
"total": 0,
"hasMore": false
}
}Errors on /v1 routes use this shape:
{
"data": null,
"error": {
"code": "NOT_FOUND",
"message": "Content not found",
"details": null
}
}Error codes
| HTTP Status | Code | Meaning |
|---|---|---|
| 400 | VALIDATION_ERROR | Invalid request body or parameters |
| 401 | UNAUTHORIZED | Missing or invalid authentication |
| 403 | FORBIDDEN | Authenticated but not allowed |
| 404 | NOT_FOUND | Resource does not exist |
| 409 | CONFLICT | The request conflicts with current resource state |
| 415 | UNSUPPORTED_MEDIA_TYPE | The request content type is not supported |
| 429 | RATE_LIMIT_EXCEEDED | Too many requests |
| 500 | INTERNAL_ERROR | Something went wrong on our end |
Rate limits
The default API limit is 200 requests per 60 seconds per client. Some routes have tighter limits. For example, public workspace resources commonly allow 120 requests per minute, media upload and content writes are lower, and immediate publish/retry routes are lower again.
When a limit is exceeded, the API returns 429 and may include a Retry-After header.
Interactive reference
For the generated OpenAPI reference with every route, request schema, and response schema, visit api.maevesocial.com/docs.