For Coding Agents
AGNT Enterprise
Organizations and teams let your customers structure their users into enterprise workspaces with SSO, domain verification, and team-based access control — all scoped to your agnt account.
Concepts
Organization — an enterprise customer within your account (e.g., "Acme Corp"). Holds SSO configuration, verified domains, and a default team for new members.
OrganizationDomain — a verified domain (e.g., acme.com) that enables SSO auto-join. Verified via DNS TXT record.
Team — a named group of members within your account. Optionally linked to an organization. Members have a role (member, admin, owner) and a status (invited, active, archived).
TeamMember — a Member record's assignment to a team, with role and status.
Organizations
List organizations
GET /organizationsReturns all organizations in the account.
{
"ok": true,
"organizations": [
{
"id": "org_123",
"name": "Acme Corp",
"defaultTeam": "team_456",
"createdAt": "2025-01-01T00:00:00Z"
}
],
"page": 1,
"perPage": 20,
"total": 1
}Create an organization
POST /organizations{ "name": "Acme Corp" }Get an organization
GET /organizations/:orgIdReturns full org detail including SSO config and connection status.
Update an organization
PUT /organizations/:orgId{ "name": "Acme Corp", "defaultTeam": "team_456" }Delete an organization
DELETE /organizations/:orgIdDeletes the org and all its domains. Teams that belonged to this org are unlinked (not deleted).
Domain Verification
Domains gate SSO auto-join. A user signing up with @acme.com can be automatically added to the org once acme.com is verified.
List domains
GET /organizations/:orgId/domainsAdd a domain
POST /organizations/:orgId/domains{ "domain": "acme.com", "autoJoin": true }Returns the domain with TXT record instructions:
{
"ok": true,
"domain": {
"id": "dom_789",
"domain": "acme.com",
"verified": false,
"txtRecordName": "_agnt-verification.acme.com",
"txtRecordValue": "agnt-verify-a1b2c3...",
"autoJoin": true
}
}Add the TXT record to your DNS provider, then call verify.
Verify a domain
POST /organizations/:orgId/domains/:domainId/verifyPerforms a live DNS TXT record lookup. Returns the verified domain on success, or an error if the record is not found yet.
Update a domain
PUT /organizations/:orgId/domains/:domainId{ "autoJoin": false }SSO-managed domains (source: "sso") cannot be updated manually.
Remove a domain
DELETE /organizations/:orgId/domains/:domainIdSSO-managed domains cannot be removed manually. Disable SSO first.
SSO Configuration
Update SSO config
PUT /organizations/:orgId/ssoConfigure the SSO provider and settings. Supported providers: google_workspace, azure_ad, saml_generic.
Google Workspace example:
{
"enabled": true,
"enforced": false,
"provider": "google_workspace",
"googleWorkspace": {
"adminEmail": "admin@acme.com",
"directoryScope": true
},
"memberSync": {
"enabled": true,
"method": "scim",
"autoProvision": true,
"autoDeactivate": false,
"defaultRole": "member"
}
}SAML example:
{
"enabled": true,
"enforced": true,
"provider": "saml_generic",
"saml": {
"entryPoint": "https://idp.acme.com/sso/saml",
"issuer": "https://idp.acme.com",
"certificate": "MIIDpDCCAoygAwIBAgI...",
"attributeMapping": {
"email": "email",
"firstName": "firstName",
"lastName": "lastName"
}
}
}SCIM provisioning:
{
"scim": {
"enabled": true,
"endpoint": "https://api.agnt.ai/scim/v2/org_123",
"version": "2.0"
}
}Disable SSO
DELETE /organizations/:orgId/ssoResets SSO config to disabled.
Regenerate SCIM token
POST /organizations/:orgId/sso/scim-token{ "ok": true, "scim": { "token": "a1b2c3..." } }Generates a new SCIM bearer token. The previous token is immediately invalidated.
Teams
List teams
GET /teamsOptional filters: ?organizationId=org_123, ?status=active.
Create a team
POST /teams{
"name": "Engineering",
"organizationId": "org_123",
"adminApprovalRequired": false
}organizationId is optional — teams can exist independently of an org.
Get a team
GET /teams/:teamIdUpdate a team
PUT /teams/:teamId{ "name": "Platform Engineering", "status": "archived" }Delete a team
DELETE /teams/:teamIdDeletes the team and all its member records.
Team Members
List members
GET /teams/:teamId/membersOptional filter: ?status=active.
Add a member
POST /teams/:teamId/members{ "memberId": "mem_abc", "role": "member" }New members start with status: "invited".
Update a member
PUT /teams/:teamId/members/:memberId{ "role": "admin", "status": "active" }Remove a member
DELETE /teams/:teamId/members/:memberIdSSO Provider Reference
| Provider | provider value | Directory sync | SCIM |
|---|---|---|---|
| Google Workspace | google_workspace | Yes (domain-wide delegation) | Via SCIM |
| Azure AD / Entra ID | azure_ad | Yes (app permissions) | Via SCIM |
| Generic SAML 2.0 | saml_generic | No | Via SCIM |
Member sync methods
| Method | Description |
|---|---|
scim | Identity provider pushes changes via SCIM 2.0 |
polling | AGNT polls the directory on a configurable interval |
webhook | Identity provider sends webhook events |