What this endpoint does#
Returns row-level results for one bulk-update job ObjectId after you have the job from the list endpoint.It does not queue a job. It does not list jobs. A missing well-formed id can return 200 with zero counts, not 404. Use status as the gate before treating details as processed output.List jobs → copy _id → poll status until Completed → GET /v1/users/bulk-update/{id}/details.
Quick start#
Replace <jobId> with a 24-character job ObjectId.Authentication and permission#
Send Authorization: Bearer <COMMUNITY_API_KEY>. Required permission: getBulkUpdate. Keep the key server-side.Complete examples#
Completed job (200). message is Bulk update details fetched successfully. Envelope { status: "success", message, data: { successUsers, failedUsers, pagination, data } }.Row objects include status, email, and the columns that job wrote.Missing ObjectId (200). A well-formed id with no job can return successUsers: 0, failedUsers: 0, empty pagination. That is not the same contract as status (500 Bulk update not found).Invalid id (400). Bulk update ID is required and must be a valid ObjectId.Treat emails as synthetic.Success and readback#
HTTP 200. Use status=Completed on the sibling status route before treating data[] as processed output.Missing job vs empty resultStatus 500 Bulk update not found means the id did not match. Details 200 with zeros can mean the same missing id, or a job with no processed rows. Confirm _id on the list.
Errors and recovery#
| Status | When | Recovery |
|---|
400 invalid ObjectId | Malformed {id} | Send a 24-character hex id from the list. |
401 | Missing or invalid token | Add a valid community key. |
Retry safety#
This GET does not mutate users. Retry timeouts with bounded backoff. Repeating details does not re-run the job.
Gotchas#
Status and details are different missing-job contracts.
Details can parse the original payload before processing finishes. Wait for Completed.
List status casing can differ from the status endpoint. Compare job _id.
Next steps#
Get bulk update job status
Poll until Completed before trusting these rows.