Coder Organizations API
The Organizations API from Coder — 4 operation(s) for organizations.
The Organizations API from Coder — 4 operation(s) for organizations.
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 Organizations 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: Organizations
paths:
/api/v2/organizations:
get:
operationId: get-organizations
summary: Get organizations
tags:
- Organizations
security:
- CoderSessionToken: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/codersdk.Organization'
post:
operationId: create-organization
summary: Create organization
tags:
- Organizations
security:
- CoderSessionToken: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.CreateOrganizationRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.Organization'
/api/v2/organizations/{organization}:
get:
operationId: get-organization-by-id
summary: Get organization by ID
tags:
- Organizations
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.Organization'
delete:
operationId: delete-organization
summary: Delete organization
tags:
- Organizations
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID or name
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.Response'
patch:
operationId: update-organization
summary: Update organization
tags:
- Organizations
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.UpdateOrganizationRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.Organization'
/api/v2/organizations/{organization}/provisionerjobs:
get:
operationId: get-provisioner-jobs
summary: Get provisioner jobs
tags:
- Organizations
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
- name: limit
in: query
required: false
description: Page limit
schema:
type: integer
- name: ids
in: query
required: false
description: Filter results by job IDs
schema:
type: array
items:
type: string
- name: status
in: query
required: false
description: Filter results by status
schema:
type: string
enum:
- pending
- running
- succeeded
- canceling
- canceled
- failed
- unknown
- pending
- running
- succeeded
- canceling
- canceled
- failed
- name: tags
in: query
required: false
description: Provisioner tags to filter by (JSON of the form {'tag1':'value1','tag2':'value2'})
schema:
type: object
- name: initiator
in: query
required: false
description: Filter results by initiator
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/codersdk.ProvisionerJob'
/api/v2/organizations/{organization}/provisionerjobs/{job}:
get:
operationId: get-provisioner-job
summary: Get provisioner job
tags:
- Organizations
security:
- CoderSessionToken: []
parameters:
- name: organization
in: path
required: true
description: Organization ID
schema:
type: string
- name: job
in: path
required: true
description: Job ID
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/codersdk.ProvisionerJob'
components:
schemas:
codersdk.ProvisionerJobInput:
type: object
properties:
error:
type: string
template_version_id:
type: string
format: uuid
workspace_build_id:
type: string
format: uuid
codersdk.ProvisionerJobMetadata:
type: object
properties:
template_display_name:
type: string
template_icon:
type: string
template_id:
type: string
format: uuid
template_name:
type: string
template_version_name:
type: string
workspace_build_transition:
$ref: '#/components/schemas/codersdk.WorkspaceTransition'
workspace_id:
type: string
format: uuid
workspace_name:
type: string
codersdk.CreateOrganizationRequest:
type: object
properties:
description:
type: string
display_name:
type: string
description: DisplayName will default to the same value as `Name` if not provided.
icon:
type: string
name:
type: string
required:
- name
codersdk.ProvisionerJobStatus:
type: string
enum:
- pending
- running
- succeeded
- canceling
- canceled
- failed
- unknown
codersdk.ProvisionerJob:
type: object
properties:
available_workers:
type: array
items:
type: string
format: uuid
canceled_at:
type: string
format: date-time
completed_at:
type: string
format: date-time
created_at:
type: string
format: date-time
error:
type: string
error_code:
enum:
- REQUIRED_TEMPLATE_VARIABLES
- INSUFFICIENT_QUOTA
allOf:
- $ref: '#/components/schemas/codersdk.JobErrorCode'
file_id:
type: string
format: uuid
id:
type: string
format: uuid
initiator_id:
type: string
format: uuid
input:
$ref: '#/components/schemas/codersdk.ProvisionerJobInput'
logs_overflowed:
type: boolean
metadata:
$ref: '#/components/schemas/codersdk.ProvisionerJobMetadata'
organization_id:
type: string
format: uuid
queue_position:
type: integer
queue_size:
type: integer
started_at:
type: string
format: date-time
status:
enum:
- pending
- running
- succeeded
- canceling
- canceled
- failed
allOf:
- $ref: '#/components/schemas/codersdk.ProvisionerJobStatus'
tags:
type: object
additionalProperties:
type: string
type:
$ref: '#/components/schemas/codersdk.ProvisionerJobType'
worker_id:
type: string
format: uuid
worker_name:
type: string
codersdk.ValidationError:
type: object
properties:
detail:
type: string
field:
type: string
required:
- detail
- field
codersdk.Organization:
type: object
properties:
created_at:
type: string
format: date-time
default_org_member_roles:
type: array
description: 'DefaultOrgMemberRoles are unioned into every member''s effective
roles at request time. Changes propagate to all members on the
next request.'
items:
type: string
description:
type: string
display_name:
type: string
icon:
type: string
id:
type: string
format: uuid
is_default:
type: boolean
name:
type: string
updated_at:
type: string
format: date-time
required:
- created_at
- id
- is_default
- updated_at
codersdk.Response:
type: object
properties:
detail:
type: string
description: 'Detail is a debug message that provides further insight into why the
action failed. This information can be technical and a regular golang
err.Error() text.
- "database: too many open connections"
- "stat: too many open files"'
message:
type: string
description: 'Message is an actionable message that depicts actions the request took.
These messages should be fully formed sentences with proper punctuation.
Examples:
- "A user has been created."
- "Failed to create a user."'
validations:
type: array
description: 'Validations are form field-specific friendly error messages. They will be
shown on a form field in the UI. These can also be used to add additional
context if there is a set of errors in the primary ''Message''.'
items:
$ref: '#/components/schemas/codersdk.ValidationError'
codersdk.JobErrorCode:
type: string
enum:
- REQUIRED_TEMPLATE_VARIABLES
- INSUFFICIENT_QUOTA
codersdk.WorkspaceTransition:
type: string
enum:
- start
- stop
- delete
codersdk.ProvisionerJobType:
type: string
enum:
- template_version_import
- workspace_build
- template_version_dry_run
codersdk.UpdateOrganizationRequest:
type: object
properties:
default_org_member_roles:
type: array
description: 'DefaultOrgMemberRoles, when non-nil, replaces the org''s default
member roles.'
items:
type: string
description:
type: string
display_name:
type: string
icon:
type: string
name:
type: string
securitySchemes:
CoderSessionToken:
type: apiKey
in: header
name: Coder-Session-Token
externalDocs: {}