What this endpoint does#
Lists recent user bulk-update jobs for the API key's community so you can find a job by name and then poll status.It does not queue a job. It does not return row-level results. Premium-currency jobs may not appear here.Authenticate → GET /v1/users/bulk-update → match data.data[].name to your log_name → poll /v1/users/bulk-update/{id}/status until completed → read details.
Quick start#
Authentication and permission#
Send Authorization: Bearer <COMMUNITY_API_KEY>. Grant getBulkUpdate for this GET. Keep the key server-side.Complete examples#
List (200). message is All bulk updates fetched successfully. Envelope { status: "success", message, data: { pagination, data } }.Each row includes _id, receivedAt, duration, status, name.Limit 101 (400). Get all bulk update endpoint validation error. detail.limit: Limit must be less than 100.Treat job names as synthetic.Success and readback#
HTTP 200. Save _id as {jobId} for status and details. name is the log_name from the queue call. The queue POST does not return a job id.List status values can differ in casing from the status endpoint. Compare the same job _id.After POST /v1/users/bulk-update, list jobs and match name. Do not treat the POST 200 as proof that rows applied.
Errors and recovery#
| Status | When | Recovery |
|---|
400 limit | limit too large | Send limit 1–100. |
401 | Missing or invalid Bearer token | Add a valid community key. |
Retry safety#
This GET does not queue work. Retry timeouts with bounded backoff. Repeating the list does not duplicate jobs.
Gotchas#
POST queue response has no job id. Use a unique log_name.
Rows are identified by Email on the write, not username or Mongo _id.
Role on the bulk write replaces the community role set. It is not Role_op=subtract from admin userlist CSV.
Next steps#
Get bulk update job status
Poll the _id from this list until the job finishes.