
Plans
Create and delete organization groups with the Organization API
Create a manual Organization Group with POST https://api.cursor.com/organizations/groups, and delete an empty one with DELETE https://api.cursor.com/organizations/groups/:groupId. Official reference: Organization API → Create / Delete Organization Group. Dashboard context: Organization Groups.
Authenticate with an Organization API key (Basic auth, key as username, empty password). Writes need members:* (or admin:*). Rate limit: 20 requests per minute per organization.
For SCIM-synced groups, create and sync membership from your identity provider in the dashboard. This create route only builds a manually managed group.
Create
curl -X POST https://api.cursor.com/organizations/groups \
-u YOUR_ORGANIZATION_API_KEY: \
-H "Content-Type: application/json" \
-d '{
"name": "Engineering"
}'
| Field | Rules |
|---|---|
name |
Required. Unique among the organization's active groups. Leading and trailing whitespace is trimmed |
Success is 201 with the new group. Capture id (g_…) for later routes; publicId (grp_…) is also returned. New groups start with memberCount: 0 and monthlySpendingLimitDollars: null.
{
"group": {
"id": "g_PDSPmvukpYgZEDXsoNirw3CFhy",
"publicId": "grp_01k2ja2000e0080000000000n2",
"name": "Engineering",
"memberCount": 0,
"monthlySpendingLimitDollars": null,
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-15T10:30:00.000Z"
}
}
A missing, empty, or already-used name returns 400.
Delete
The group must be empty. Remove every member first (see the members how-to), then:
curl -X DELETE https://api.cursor.com/organizations/groups/g_PDSPmvukpYgZEDXsoNirw3CFhy \
-u YOUR_ORGANIZATION_API_KEY:
Success returns 204 No Content.
| Status | When |
|---|---|
| 400 | Group still has members, or the group has an active SCIM mapping |
| 404 | :groupId is not a group on this organization |
| 401 | Key missing members:* (or admin:*) |
You cannot delete a group with an active SCIM mapping through this endpoint. Remove the mapping in the dashboard, clear members, then delete.
Pitfalls
- Deleting before membership is empty — clear members with bulk-remove first
- Reusing a name that another active organization group already holds
- Expecting create to provision a SCIM-synced group — use IdP push (or dashboard Synced type) for that path
- Passing
grp_…as:groupId— delete needs theg_…id