A RESTful JSON interface for automating social media workflows—scheduling, publishing, media management, and analytics—across multiple networks.
All endpoints share this root URL:
https://app.publer.com/api/v1/
Include your API key and workspace ID on almost every request:
Authorization: Bearer-API YOUR_API_KEY
Publer-Workspace-Id: YOUR_WORKSPACE_ID
Content-Type: application/json
Use query parameters for filters and pagination:
GET /posts?state=scheduled&from=2025-04-20
Send JSON in the request body:
POST /posts
{
"bulk": {
"state": "scheduled",
"posts": [ … ]
}
}
No request body is required (unless otherwise noted):
DELETE /posts/{post_id}
All responses are JSON.
Synchronous endpoints return the requested resource or collection.
Asynchronous endpoints (e.g., post creation) return a job_id
:
{ "job_id": "6810dec617eae6d55d7a5e5b" }
Status codes indicate general error type (4xx, 5xx).
The response body contains an errors
array:
{ "errors": ["Detailed error message"] }
200 OK
201 Created
202 Accepted (async)
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
429 Too Many Requests
500 Internal Server Error
Current version: v1 (in the URL path). We follow Semantic Versioning. Breaking changes only occur on MAJOR version bumps; you will be notified in advance.
Submit your request → 202 Accepted + {"job_id": "…"}
Poll the job status endpoint until complete:
GET /job_status/{job_id}
{
"status": "completed",
"payload": { "failures": {} }
}
All timestamps use ISO 8601 with timezone:
YYYY-MM-DDThh:mm:ss±hh:mm
Example: 2025-05-04T14:58:35+00:00
Always use HTTPS.
Sensitive fields may be redacted.
Adhere to least-privilege scope selection.
For implementation examples, see the Quickstart Guide and sections on creating content, media handling, and network-specific formats.