v1 Developers & AI tools
PostJe API
Submit posts from ChatGPT, Claude, n8n, Make, Zapier or your own code. Every post you send arrives as "pending_approval" and is only published after someone approves it in PostJe.
Authentication
PostJe issues API keys to companies on plans with API access. Ask us for a key, then send it as a Bearer token. Always send Accept: application/json.
Authorization: Bearer YOUR_API_KEY
Accept: application/json
Endpoints
https://postje.social/api/v1/accounts
List your connected social accounts. Use their id values when creating posts. posts:read
https://postje.social/api/v1/posts
List posts, newest first, 20 per page. Optional ?status=pending_approval|approved|published|failed… posts:read
https://postje.social/api/v1/posts
Create a post. It waits for approval in PostJe. posts:write
https://postje.social/api/v1/posts/{id}
One post, including per-network results and links once published. posts:read
https://postje.social/api/v1/posts/{id}
Delete a post that has not been approved yet. posts:write
Create a post
| caption | string | The post text. Instagram max 2,200 and Threads max 500 characters. |
| accounts | array of ids | Required. Account ids from GET /accounts. |
| media_urls | array of URLs | Optional. Up to 10 public image (JPG/PNG/WebP) or video (MP4) URLs. PostJe downloads them. |
| media[] | files | Optional. Upload files directly with multipart/form-data instead of URLs. |
| scheduled_at | ISO 8601 | Optional. When to publish once approved. Leave out to publish as soon as it is approved. |
| client | string | Optional. Name of the tool, shown to approvers (defaults to the API key name). |
curl -X POST https://postje.social/api/v1/posts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" -H "Content-Type: application/json" \
-d '{
"caption": "New arrivals are in! Visit us this weekend.",
"accounts": ["9b1d6c1e-…", "9b1d6c2f-…"],
"media_urls": ["https://example.com/photo.jpg"],
"scheduled_at": "2026-11-01T10:00:00+08:00",
"client": "ChatGPT"
}'
Response: 201 with the post, status "pending_approval". Validation problems (for example Instagram without an image) return 422 with a message for each field.
Limits
- 60 requests per minute per key.
- Posts count towards your plan's monthly post limit.
- API access is included on plans with the "API access" feature.