Coder Enterprise API
The Enterprise API from Coder — 67 operation(s) for enterprise.
The Enterprise API from Coder — 67 operation(s) for enterprise.
openapi: 3.0.3
info:
description: Coderd is the service created by running coder server. It is a thin API that connects workspaces, provisioners and users. coderd stores its state in Postgres and is the only service that communicates with Postgres.
title: Coder Agents Enterprise API
termsOfService: https://coder.com/legal/terms-of-service
contact:
name: API Support
url: https://coder.com
email: support@coder.com
license:
name: AGPL-3.0
url: https://github.com/coder/coder/blob/main/LICENSE
version: '2.0'
servers:
- url: https://{coderHost}/api/v2
description: Coder instance
variables:
coderHost:
default: coder.example.com
description: Your Coder deployment hostname
security:
- CoderSessionToken: []
tags:
- name: Enterprise
paths:
/.well-known/oauth-authorization-server:
get:
operationId: oauth2-authorization-server-metadata
summary: OAuth2 authorization server metadata.
tags:
- Enterprise
security:
- CoderSessionToken: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.OAuth2AuthorizationServerMetadata'
/.well-known/oauth-protected-resource:
get:
operationId: oauth2-protected-resource-metadata
summary: OAuth2 protected resource metadata.
tags:
- Enterprise
security:
- CoderSessionToken: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.OAuth2ProtectedResourceMetadata'
/api/v2/aibridge/keys:
get:
operationId: list-ai-gateway-keys
summary: List AI Gateway keys
tags:
- Enterprise
security:
- CoderSessionToken: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/codersdk.AIGatewayKey'
post:
operationId: create-ai-gateway-key
summary: Create AI Gateway key
tags:
- Enterprise
security:
- CoderSessionToken: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.CreateAIGatewayKeyRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.CreateAIGatewayKeyResponse'
/api/v2/aibridge/keys/{key}:
delete:
operationId: delete-ai-gateway-key
summary: Delete AI Gateway key
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: key
in: path
required: true
description: Key ID
schema:
type: string
responses:
'204':
description: No Content
/api/v2/appearance:
get:
operationId: get-appearance
summary: Get appearance
tags:
- Enterprise
security:
- CoderSessionToken: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.AppearanceConfig'
put:
operationId: update-appearance
summary: Update appearance
tags:
- Enterprise
security:
- CoderSessionToken: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.UpdateAppearanceConfig'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.UpdateAppearanceConfig'
/api/v2/applications/reconnecting-pty-signed-token:
post:
operationId: issue-signed-app-token-for-reconnecting-pty
summary: Issue signed app token for reconnecting PTY
tags:
- Enterprise
security:
- CoderSessionToken: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.IssueReconnectingPTYSignedTokenRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.IssueReconnectingPTYSignedTokenResponse'
/api/v2/connectionlog:
get:
operationId: get-connection-logs
summary: Get connection logs
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: q
in: query
required: false
description: Search query
schema:
type: string
- name: limit
in: query
required: true
description: Page limit
schema:
type: integer
- name: offset
in: query
required: false
description: Page offset
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.ConnectionLogResponse'
/api/v2/entitlements:
get:
operationId: get-entitlements
summary: Get entitlements
tags:
- Enterprise
security:
- CoderSessionToken: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.Entitlements'
/api/v2/groups:
get:
operationId: get-groups
summary: Get groups
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: query
required: true
description: Organization ID or name
schema:
type: string
- name: has_member
in: query
required: true
description: User ID or name
schema:
type: string
- name: group_ids
in: query
required: true
description: Comma separated list of group IDs
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/codersdk.Group'
/api/v2/groups/{group}:
get:
operationId: get-group-by-id
summary: Get group by ID
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: group
in: path
required: true
description: Group id
schema:
type: string
- name: exclude_members
in: query
required: false
description: Exclude members from the response
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.Group'
delete:
operationId: delete-group-by-name
summary: Delete group by name
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: group
in: path
required: true
description: Group name
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.Group'
patch:
operationId: update-group-by-name
summary: Update group by name
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: group
in: path
required: true
description: Group name
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.PatchGroupRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.Group'
/api/v2/groups/{group}/ai/budget:
get:
operationId: get-group-ai-budget
summary: Get group AI budget
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: group
in: path
required: true
description: Group ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.GroupAIBudget'
put:
operationId: upsert-group-ai-budget
summary: Upsert group AI budget
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: group
in: path
required: true
description: Group ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.UpsertGroupAIBudgetRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.GroupAIBudget'
delete:
operationId: delete-group-ai-budget
summary: Delete group AI budget
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: group
in: path
required: true
description: Group ID
schema:
type: string
responses:
'204':
description: No Content
/api/v2/groups/{group}/members:
get:
operationId: get-group-members-by-group-id
summary: Get group members by group ID
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: group
in: path
required: true
description: Group id
schema:
type: string
- name: q
in: query
required: false
description: Member search query
schema:
type: string
- name: after_id
in: query
required: false
description: After ID
schema:
type: string
- name: limit
in: query
required: false
description: Page limit
schema:
type: integer
- name: offset
in: query
required: false
description: Page offset
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.GroupMembersResponse'
/api/v2/licenses:
get:
operationId: get-licenses
summary: Get licenses
tags:
- Enterprise
security:
- CoderSessionToken: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/codersdk.License'
post:
operationId: add-new-license
summary: Add new license
tags:
- Enterprise
security:
- CoderSessionToken: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.AddLicenseRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.License'
/api/v2/licenses/refresh-entitlements:
post:
operationId: update-license-entitlements
summary: Update license entitlements
tags:
- Enterprise
security:
- CoderSessionToken: []
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.Response'
/api/v2/licenses/{id}:
delete:
operationId: delete-license
summary: Delete license
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: id
in: path
required: true
description: License ID
schema:
type: string
responses:
'200':
description: OK
/api/v2/notifications/templates/{notification_template}/method:
put:
operationId: update-notification-template-dispatch-method
summary: Update notification template dispatch method
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: notification_template
in: path
required: true
description: Notification template UUID
schema:
type: string
responses:
'200':
description: Success
'304':
description: Not modified
/api/v2/oauth2-provider/apps:
get:
operationId: get-oauth2-applications
summary: Get OAuth2 applications.
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: user_id
in: query
required: false
description: Filter by applications authorized for a user
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/codersdk.OAuth2ProviderApp'
post:
operationId: create-oauth2-application
summary: Create OAuth2 application.
tags:
- Enterprise
security:
- CoderSessionToken: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.PostOAuth2ProviderAppRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.OAuth2ProviderApp'
/api/v2/oauth2-provider/apps/{app}:
get:
operationId: get-oauth2-application
summary: Get OAuth2 application.
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: app
in: path
required: true
description: App ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.OAuth2ProviderApp'
put:
operationId: update-oauth2-application
summary: Update OAuth2 application.
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: app
in: path
required: true
description: App ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.PutOAuth2ProviderAppRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.OAuth2ProviderApp'
delete:
operationId: delete-oauth2-application
summary: Delete OAuth2 application.
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: app
in: path
required: true
description: App ID
schema:
type: string
responses:
'204':
description: No Content
/api/v2/oauth2-provider/apps/{app}/secrets:
get:
operationId: get-oauth2-application-secrets
summary: Get OAuth2 application secrets.
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: app
in: path
required: true
description: App ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/codersdk.OAuth2ProviderAppSecret'
post:
operationId: create-oauth2-application-secret
summary: Create OAuth2 application secret.
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: app
in: path
required: true
description: App ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/codersdk.OAuth2ProviderAppSecretFull'
/api/v2/oauth2-provider/apps/{app}/secrets/{secretID}:
delete:
operationId: delete-oauth2-application-secret
summary: Delete OAuth2 application secret.
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: app
in: path
required: true
description: App ID
schema:
type: string
- name: secretID
in: path
required: true
description: Secret ID
schema:
type: string
responses:
'204':
description: No Content
/api/v2/organizations/{organization}/groups:
get:
operationId: get-groups-by-organization
summary: Get groups by organization
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/codersdk.Group'
post:
operationId: create-group-for-organization
summary: Create group for organization
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.CreateGroupRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.Group'
/api/v2/organizations/{organization}/groups/{groupName}:
get:
operationId: get-group-by-organization-and-group-name
summary: Get group by organization and group name
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
- name: groupName
in: path
required: true
description: Group name
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.Group'
/api/v2/organizations/{organization}/groups/{groupName}/members:
get:
operationId: get-group-members-by-organization-and-group-name
summary: Get group members by organization and group name
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
- name: groupName
in: path
required: true
description: Group name
schema:
type: string
- name: q
in: query
required: false
description: Member search query
schema:
type: string
- name: after_id
in: query
required: false
description: After ID
schema:
type: string
- name: limit
in: query
required: false
description: Page limit
schema:
type: integer
- name: offset
in: query
required: false
description: Page offset
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.GroupMembersResponse'
/api/v2/organizations/{organization}/members/{user}/workspace-quota:
get:
operationId: get-workspace-quota-by-user
summary: Get workspace quota by user
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: user
in: path
required: true
description: User ID, name, or me
schema:
type: string
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.WorkspaceQuota'
/api/v2/organizations/{organization}/provisionerdaemons/serve:
get:
operationId: serve-provisioner-daemon
summary: Serve provisioner daemon
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
responses:
'101':
description: Switching Protocols
/api/v2/organizations/{organization}/provisionerkeys:
get:
operationId: list-provisioner-key
summary: List provisioner key
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/codersdk.ProvisionerKey'
post:
operationId: create-provisioner-key
summary: Create provisioner key
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.CreateProvisionerKeyResponse'
/api/v2/organizations/{organization}/provisionerkeys/daemons:
get:
operationId: list-provisioner-key-daemons
summary: List provisioner key daemons
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/codersdk.ProvisionerKeyDaemons'
/api/v2/organizations/{organization}/provisionerkeys/{provisionerkey}:
delete:
operationId: delete-provisioner-key
summary: Delete provisioner key
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
- name: provisionerkey
in: path
required: true
description: Provisioner key name
schema:
type: string
responses:
'204':
description: No Content
/api/v2/organizations/{organization}/settings/idpsync/available-fields:
get:
operationId: get-the-available-organization-idp-sync-claim-fields
summary: Get the available organization idp sync claim fields
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
type: string
/api/v2/organizations/{organization}/settings/idpsync/field-values:
get:
operationId: get-the-organization-idp-sync-claim-field-values
summary: Get the organization idp sync claim field values
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
- name: claimField
in: query
required: true
description: Claim Field
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
type: string
/api/v2/organizations/{organization}/settings/idpsync/groups:
get:
operationId: get-group-idp-sync-settings-by-organization
summary: Get group IdP Sync settings by organization
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.GroupSyncSettings'
patch:
operationId: update-group-idp-sync-settings-by-organization
summary: Update group IdP Sync settings by organization
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.GroupSyncSettings'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.GroupSyncSettings'
/api/v2/organizations/{organization}/settings/idpsync/groups/config:
patch:
operationId: update-group-idp-sync-config
summary: Update group IdP Sync config
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID or name
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.PatchGroupIDPSyncConfigRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.GroupSyncSettings'
/api/v2/organizations/{organization}/settings/idpsync/groups/mapping:
patch:
operationId: update-group-idp-sync-mapping
summary: Update group IdP Sync mapping
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID or name
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.PatchGroupIDPSyncMappingRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.GroupSyncSettings'
/api/v2/organizations/{organization}/settings/idpsync/roles:
get:
operationId: get-role-idp-sync-settings-by-organization
summary: Get role IdP Sync settings by organization
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.RoleSyncSettings'
patch:
operationId: update-role-idp-sync-settings-by-organization
summary: Update role IdP Sync settings by organization
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.RoleSyncSettings'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.RoleSyncSettings'
/api/v2/organizations/{organization}/settings/idpsync/roles/config:
patch:
operationId: update-role-idp-sync-config
summary: Update role IdP Sync config
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID or name
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.PatchRoleIDPSyncConfigRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.RoleSyncSettings'
/api/v2/organizations/{organization}/settings/idpsync/roles/mapping:
patch:
operationId: update-role-idp-sync-mapping
summary: Update role IdP Sync mapping
tags:
- Enterprise
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID or name
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.PatchRoleIDPSyncMappingRequest'
responses:
'200':
description: OK
content:
applica
# --- truncated at 32 KB (120 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coder/refs/heads/main/openapi/coder-enterprise-api-openapi.yml