Upload Status
Check the status of asynchronous uploads initiated with async_upload=true or scheduled posts.
Endpoint
GET /api/uploadposts/status?request_id=yourrequestid
GET /api/uploadposts/status?job_id=yourjobid
Headers
| Name | Value | Description |
|---|---|---|
| Authorization | Apikey your-api-key-here | Your API key for authentication |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| request_id | String | Conditional | The request identifier returned by the upload endpoints when async_upload=true. Use for async uploads. |
| job_id | String | Conditional | The job identifier returned by scheduled posts. Use for posts with scheduled_date. |
Note: At least one of request_id or job_id must be provided.
Behavior
- Async uploads: When you submit an upload request with
async_upload=true, the API returns immediately with arequest_id. Use this to retrieve aggregated progress and results. - Scheduled posts: When you schedule a post with
scheduled_date, the API returns ajob_id. Use this to check the status after the scheduled time. - The
statusfield may be one of:pending: The request has been accepted but no platform results recorded yet.in_progress: Some platform results recorded but not all (or total unknown).completed: All known work is finished (based on inferred total or recorded items).
Example Request
For async uploads:
curl \
-H 'Authorization: Apikey your-api-key-here' \
"https://api.upload-post.com/api/uploadposts/status?request_id=<REQUEST_ID>"
For scheduled posts:
curl \
-H 'Authorization: Apikey your-api-key-here' \
"https://api.upload-post.com/api/uploadposts/status?job_id=<JOB_ID>"
Example Response
For async uploads (request_id):
{
"request_id": "7b2c2f5e-1234-4a6f-9f1d-a1b2c3d4e5f6",
"status": "in_progress",
"completed": 1,
"total": 2,
"results": [
{
"platform": "x",
"success": true,
"message": "Queued",
"upload_timestamp": "2025-01-01T12:34:56Z"
}
],
"last_update": "2025-01-01T12:34:56Z"
}
For scheduled posts (job_id):
{
"job_id": "job_abc123xyz",
"status": "completed",
"completed": 2,
"total": 2,
"results": [
{
"platform": "x",
"success": true,
"message": "Published",
"upload_timestamp": "2025-01-15T14:00:00Z"
},
{
"platform": "linkedin",
"success": true,
"message": "Published",
"upload_timestamp": "2025-01-15T14:00:05Z"
}
],
"last_update": "2025-01-15T14:00:05Z"
}
Responses
| Status | Description |
|---|---|
| 200 OK | Success. Response includes request_id or job_id depending on which parameter was used. |
| 400 Bad Request | Missing both request_id and job_id: {"error":"request_id or job_id is required"} |
| 401 Unauthorized | Invalid or expired token |
| 500 Internal Server Error | Server error with details |