`POST /invitations/bulk` — bulk invitation import.
/invitations/bulkIterates rows independently. Each row goes through the same
per-row checks the single-create endpoint runs (email validation,
policy, role, team existence, throttle); per-row outcomes ride back
in BulkCreateInvitationResponse.results so the admin sees partial
success without scraping the audit log.
Anti-enumeration doesn't constrain this surface — the endpoint requires admin auth on the calling org, so per-row outcomes don't leak across tenants.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Bulk-import request. Up to BULK_MAX_ROWS rows per
request — the api fails the entire request with 400 above that.
Each row is processed independently; per-row outcomes ride back
in BulkCreateInvitationResponse.results.
Response Body
application/json
curl -X POST "https://example.com/invitations/bulk" \ -H "Content-Type: application/json" \ -d '{ "rows": [ { "email": "string" } ] }'{ "results": [ { "email": "string", "invitation": null, "message": "string", "outcome": "created", "token": "string" } ], "summary": { "created": 0, "rejected": 0, "total": 0 }}