Skip to main content

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

NameValueDescription
AuthorizationApikey your-api-key-hereYour API key for authentication

Query Parameters

NameTypeRequiredDescription
request_idStringConditionalThe request identifier returned by the upload endpoints when async_upload=true. Use for async uploads.
job_idStringConditionalThe 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 a request_id. Use this to retrieve aggregated progress and results.
  • Scheduled posts: When you schedule a post with scheduled_date, the API returns a job_id. Use this to check the status after the scheduled time.
  • The status field 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

StatusDescription
200 OKSuccess. Response includes request_id or job_id depending on which parameter was used.
400 Bad RequestMissing both request_id and job_id: {"error":"request_id or job_id is required"}
401 UnauthorizedInvalid or expired token
500 Internal Server ErrorServer error with details