GET/api/v4/social/bulk-posts/{bulkJobId}

Get a bulk post job

Returns the status, counts and per-row results of a bulk social post job.

Requires an API key. See Authentication for header format and key rotation.

Parameters

Path

NameTypeRequiredDescription
bulkJobIdstringrequiredJob UUID, the `job.id` returned by POST /social/bulk-posts.

Responses

200The job with its counts and one entry per submitted row.
Response
{  "data": {    "getBulkSocialPostJob": {      "id": "9b3f18d0-7a26-4c51-8e94-1f0d5c6b7a82",      "status": "COMPLETED_WITH_ERRORS",      "totalCount": 3,      "processedCount": 3,      "successCount": 2,      "failureCount": 1,      "createdAt": "2026-09-28T14:04:52Z",      "updatedAt": "2026-09-28T14:05:31Z",      "results": [        {          "index": 0,          "clientReference": "campaign-4471-slot-01",          "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",          "platforms": ["INSTAGRAM", "FACEBOOK"],          "status": "CREATED",          "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345",          "postStatus": "SCHEDULED",          "errors": []        },        {          "index": 1,          "clientReference": "campaign-4471-slot-02",          "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",          "platforms": ["INSTAGRAM", "FACEBOOK", "LINKEDIN"],          "status": "CREATED",          "socialPostId": "e08b2d97-6f14-4c22-b7a5-9d3e1f6c4a70",          "postStatus": "SCHEDULED",          "errors": []        },        {          "index": 2,          "clientReference": "campaign-4471-slot-03",          "socialProfileId": "a90f7c22-5db1-4e83-9f40-2b7c6a1e5d33",          "platforms": ["INSTAGRAM"],          "status": "FAILED",          "socialPostId": null,          "postStatus": null,          "errors": [            {              "message": "SY95045: No connected channel for INSTAGRAM on this brand",              "code": "SY95045",              "contextInfo": [{ "key": "platform", "value": "INSTAGRAM" }]            }          ]        }      ]    }  }}
401Unauthenticated, missing or invalid API key.
404No job with that ID on this account (`SY95047`).

Reports on a job created by POST /social/bulk-posts. Poll it until status reaches a terminal value, then read results[] to find out what each row became.

Use case: reconciling a bulk load back into your own calendar. After submitting a batch, poll this endpoint every few seconds. When status is terminal, walk results[] and match each entry's clientReference to your own record, writing socialPostId onto it. Rows with status: "FAILED" carry the reason in errors[]; resend just those in a new batch.

Use case: a progress bar. processedCount against totalCount is enough to drive one without walking results[] at all, and successCount / failureCount give you the headline the moment the job lands.

Job statuses

statusTerminalMeans
QUEUEDnoAccepted, not started. results[] may be empty.
PROCESSINGnoRows are being created. results[] fills in as it goes.
COMPLETEDyesEvery row was created.
COMPLETED_WITH_ERRORSyesSome rows were created, some failed. Read failureCount and the per-row errors[].
FAILEDyesThe job itself could not run. No rows were created.

Notes.

  • clientReference is whatever you sent on that row, echoed back. It is the cleanest link to your own data; index, the row's 0-based position in the array you submitted, is the fallback when you sent none.
  • A row reaching status: "CREATED" means the post exists, not that it has published — postStatus tells you where the post itself is. PUBLISH and SCHEDULE rows still go through the asynchronous publishing pipeline afterwards: take each socialPostId to GET /social/posts/{postId} and read channels[] for the real per-channel outcome.
  • A job whose rows all failed validation would never have been created at all, because bulk create rejects the batch before queuing. A FAILED job here means the job broke after it was accepted.
  • updatedAt moves as rows are processed; it settles once the job is terminal.
Request
curl -X GET 'https://listingsapi.com/api/v4/social/bulk-posts/<bulkJobId>' \  -H "Authorization: API $LISTINGSAPI_KEY"