Skip to main content
This documentation is for the federal deployments of Devin. Back to Devin Docs
Manage groups programmatically: create, read, update, and delete groups, manage their membership, and configure their model availability and ACU caps. These endpoints are available only on multi-tenant federal deployments. All endpoints are JSON POST requests. Every request body includes service_key; see the API overview for authentication, scoping, pagination, and errors. Read endpoints require Teams Read-Only; write endpoints require Teams Update. These handlers have the self-hosted, multi-tenant deployment gate but do not apply the separate analytics-access tier check used by /Analytics. The group object returned by read and write endpoints:

List groups

Lists groups visible to the service key. Team-scoped keys list all groups in the team; group-scoped keys list only their assigned group. Requires Teams Read-Only. Supports page_size / page_token.

Get group

Reads one group, including its model allowlists and configured and effective ACU cap. Requires Teams Read-Only. Missing, cross-team, and out-of-scope groups return not_found.

Create group

Creates a group with the given name in the effective team. Requires Teams Update. Group-scoped keys cannot create groups.
The response contains the created group object.

Update group

Atomically patches a group. Only fields present in the request are changed; omitted fields are untouched. A request with no patch fields returns invalid_argument. Requires Teams Update.
string
required
The group to update.
string
New group name.
object
{"model_uids": [...]} — replaces the group’s Cascade model allowlist. Passing an empty list clears the group’s Cascade restriction. See Model Provisioning for how group allowlists combine.
object
{"model_uids": [...]} — replaces the group’s Command model allowlist. Passing an empty list clears the group’s Command restriction.
number
Sets the group’s per-member ACU cap per billing cycle. Must be positive. Mutually exclusive with clear_cycle_acu_limit.
boolean
Clears the group’s ACU cap, restoring team or default behavior. In this service-key API, set_cycle_acu_limit must be finite and positive; use this explicit clear operation to remove the group override. The portal’s group ACU limit control accepts cycle_acu_limit: 0 as a clear request.
The response contains the updated group object.

Delete group

Deletes a group by group_id. Deleting a group that is already missing from the key’s possible scope is a successful no-op. Requires Teams Update.

List group members

Lists the current members of one group. Requires Teams Read-Only. Supports page_size / page_token.

Add group members

Adds current team users to a group by email (user_emails, 1–1,000 entries). Requires Teams Update.
  • Idempotent: adding an existing member is a successful no-op.
  • Emails are trimmed and deduplicated case-insensitively.
  • All-or-nothing: if any email is unknown or belongs to another team, the whole request is rejected and nothing is written.

Remove group members

Removes users from a group by email (user_emails, 1–1,000 entries). Requires Teams Update. Validation is all-or-nothing like Add group members; removing a valid user who is not a member is a successful no-op.