Members

List organization members

Code samples

# Example request using curl curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members \ -H 'Accept: application/json' \ -H 'Coder-Session-Token: API_KEY'

GET /organizations/{organization}/members

Parameters

NameInTypeRequiredDescription
organizationpathstringtrueOrganization ID

Example responses

200 Response

[ { "avatar_url": "string", "created_at": "2019-08-24T14:15:22Z", "email": "string", "global_roles": [ { "display_name": "string", "name": "string", "organization_id": "string" } ], "name": "string", "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "roles": [ { "display_name": "string", "name": "string", "organization_id": "string" } ], "updated_at": "2019-08-24T14:15:22Z", "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5", "username": "string" } ]

Responses

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.OrganizationMemberWithUserData

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» avatar_urlstringfalse
» created_atstring(date-time)false
» emailstringfalse
» global_rolesarrayfalse
»» display_namestringfalse
»» namestringfalse
»» organization_idstringfalse
» namestringfalse
» organization_idstring(uuid)false
» rolesarrayfalse
» updated_atstring(date-time)false
» user_idstring(uuid)false
» usernamestringfalse

To perform this operation, you must be authenticated. Learn more.

Get member roles by organization

Code samples

# Example request using curl curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/members/roles \ -H 'Accept: application/json' \ -H 'Coder-Session-Token: API_KEY'

GET /organizations/{organization}/members/roles

Parameters

NameInTypeRequiredDescription
organizationpathstring(uuid)trueOrganization ID

Example responses

200 Response

[ { "assignable": true, "built_in": true, "display_name": "string", "name": "string", "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "organization_member_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "organization_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "site_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "user_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ] } ]

Responses

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.AssignableRoles

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» assignablebooleanfalse
» built_inbooleanfalseBuilt in roles are immutable
» display_namestringfalse
» namestringfalse
» organization_idstring(uuid)false
» organization_member_permissionsarrayfalseOrganization member permissions are specific for the organization in the field 'OrganizationID' above.
»» actioncodersdk.RBACActionfalse
»» negatebooleanfalseNegate makes this a negative permission
»» resource_typecodersdk.RBACResourcefalse
» organization_permissionsarrayfalseOrganization permissions are specific for the organization in the field 'OrganizationID' above.
» site_permissionsarrayfalse
» user_permissionsarrayfalse

Enumerated Values

PropertyValue(s)
actionapplication_connect, assign, create, create_agent, delete, delete_agent, read, read_personal, share, ssh, start, stop, unassign, update, update_personal, use, view_insights
resource_type*, aibridge_interception, api_key, assign_org_role, assign_role, audit_log, connection_log, crypto_key, debug_info, deployment_config, deployment_stats, file, group, group_member, idpsync_settings, inbox_notification, license, notification_message, notification_preference, notification_template, oauth2_app, oauth2_app_code_token, oauth2_app_secret, organization, organization_member, prebuilt_workspace, provisioner_daemon, provisioner_jobs, replicas, system, tailnet_coordinator, task, template, usage_event, user, user_secret, webpush_subscription, workspace, workspace_agent_devcontainers, workspace_agent_resource_monitor, workspace_dormant, workspace_proxy

To perform this operation, you must be authenticated. Learn more.

Upsert a custom organization role

Code samples

# Example request using curl curl -X PUT http://coder-server:8080/api/v2/organizations/{organization}/members/roles \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Coder-Session-Token: API_KEY'

PUT /organizations/{organization}/members/roles

Body parameter

{ "display_name": "string", "name": "string", "organization_member_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "organization_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "site_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "user_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ] }

Parameters

NameInTypeRequiredDescription
organizationpathstring(uuid)trueOrganization ID
bodybodycodersdk.CustomRoleRequesttrueUpsert role request

Example responses

200 Response

[ { "display_name": "string", "name": "string", "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "organization_member_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "organization_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "site_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "user_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ] } ]

Responses

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.Role

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» display_namestringfalse
» namestringfalse
» organization_idstring(uuid)false
» organization_member_permissionsarrayfalseOrganization member permissions are specific for the organization in the field 'OrganizationID' above.
»» actioncodersdk.RBACActionfalse
»» negatebooleanfalseNegate makes this a negative permission
»» resource_typecodersdk.RBACResourcefalse
» organization_permissionsarrayfalseOrganization permissions are specific for the organization in the field 'OrganizationID' above.
» site_permissionsarrayfalse
» user_permissionsarrayfalse

Enumerated Values

PropertyValue(s)
actionapplication_connect, assign, create, create_agent, delete, delete_agent, read, read_personal, share, ssh, start, stop, unassign, update, update_personal, use, view_insights
resource_type*, aibridge_interception, api_key, assign_org_role, assign_role, audit_log, connection_log, crypto_key, debug_info, deployment_config, deployment_stats, file, group, group_member, idpsync_settings, inbox_notification, license, notification_message, notification_preference, notification_template, oauth2_app, oauth2_app_code_token, oauth2_app_secret, organization, organization_member, prebuilt_workspace, provisioner_daemon, provisioner_jobs, replicas, system, tailnet_coordinator, task, template, usage_event, user, user_secret, webpush_subscription, workspace, workspace_agent_devcontainers, workspace_agent_resource_monitor, workspace_dormant, workspace_proxy

To perform this operation, you must be authenticated. Learn more.

Insert a custom organization role

Code samples

# Example request using curl curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/members/roles \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Coder-Session-Token: API_KEY'

POST /organizations/{organization}/members/roles

Body parameter

{ "display_name": "string", "name": "string", "organization_member_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "organization_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "site_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "user_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ] }

Parameters

NameInTypeRequiredDescription
organizationpathstring(uuid)trueOrganization ID
bodybodycodersdk.CustomRoleRequesttrueInsert role request

Example responses

200 Response

[ { "display_name": "string", "name": "string", "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "organization_member_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "organization_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "site_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "user_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ] } ]

Responses

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.Role

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» display_namestringfalse
» namestringfalse
» organization_idstring(uuid)false
» organization_member_permissionsarrayfalseOrganization member permissions are specific for the organization in the field 'OrganizationID' above.
»» actioncodersdk.RBACActionfalse
»» negatebooleanfalseNegate makes this a negative permission
»» resource_typecodersdk.RBACResourcefalse
» organization_permissionsarrayfalseOrganization permissions are specific for the organization in the field 'OrganizationID' above.
» site_permissionsarrayfalse
» user_permissionsarrayfalse

Enumerated Values

PropertyValue(s)
actionapplication_connect, assign, create, create_agent, delete, delete_agent, read, read_personal, share, ssh, start, stop, unassign, update, update_personal, use, view_insights
resource_type*, aibridge_interception, api_key, assign_org_role, assign_role, audit_log, connection_log, crypto_key, debug_info, deployment_config, deployment_stats, file, group, group_member, idpsync_settings, inbox_notification, license, notification_message, notification_preference, notification_template, oauth2_app, oauth2_app_code_token, oauth2_app_secret, organization, organization_member, prebuilt_workspace, provisioner_daemon, provisioner_jobs, replicas, system, tailnet_coordinator, task, template, usage_event, user, user_secret, webpush_subscription, workspace, workspace_agent_devcontainers, workspace_agent_resource_monitor, workspace_dormant, workspace_proxy

To perform this operation, you must be authenticated. Learn more.

Delete a custom organization role

Code samples

# Example request using curl curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization}/members/roles/{roleName} \ -H 'Accept: application/json' \ -H 'Coder-Session-Token: API_KEY'

DELETE /organizations/{organization}/members/roles/{roleName}

Parameters

NameInTypeRequiredDescription
organizationpathstring(uuid)trueOrganization ID
roleNamepathstringtrueRole name

Example responses

200 Response

[ { "display_name": "string", "name": "string", "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "organization_member_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "organization_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "site_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "user_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ] } ]

Responses

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.Role

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» display_namestringfalse
» namestringfalse
» organization_idstring(uuid)false
» organization_member_permissionsarrayfalseOrganization member permissions are specific for the organization in the field 'OrganizationID' above.
»» actioncodersdk.RBACActionfalse
»» negatebooleanfalseNegate makes this a negative permission
»» resource_typecodersdk.RBACResourcefalse
» organization_permissionsarrayfalseOrganization permissions are specific for the organization in the field 'OrganizationID' above.
» site_permissionsarrayfalse
» user_permissionsarrayfalse

Enumerated Values

PropertyValue(s)
actionapplication_connect, assign, create, create_agent, delete, delete_agent, read, read_personal, share, ssh, start, stop, unassign, update, update_personal, use, view_insights
resource_type*, aibridge_interception, api_key, assign_org_role, assign_role, audit_log, connection_log, crypto_key, debug_info, deployment_config, deployment_stats, file, group, group_member, idpsync_settings, inbox_notification, license, notification_message, notification_preference, notification_template, oauth2_app, oauth2_app_code_token, oauth2_app_secret, organization, organization_member, prebuilt_workspace, provisioner_daemon, provisioner_jobs, replicas, system, tailnet_coordinator, task, template, usage_event, user, user_secret, webpush_subscription, workspace, workspace_agent_devcontainers, workspace_agent_resource_monitor, workspace_dormant, workspace_proxy

To perform this operation, you must be authenticated. Learn more.

Add organization member

Code samples

# Example request using curl curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/members/{user} \ -H 'Accept: application/json' \ -H 'Coder-Session-Token: API_KEY'

POST /organizations/{organization}/members/{user}

Parameters

NameInTypeRequiredDescription
organizationpathstringtrueOrganization ID
userpathstringtrueUser ID, name, or me

Example responses

200 Response

{ "created_at": "2019-08-24T14:15:22Z", "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "roles": [ { "display_name": "string", "name": "string", "organization_id": "string" } ], "updated_at": "2019-08-24T14:15:22Z", "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5" }

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.OrganizationMember

To perform this operation, you must be authenticated. Learn more.

Remove organization member

Code samples

# Example request using curl curl -X DELETE http://coder-server:8080/api/v2/organizations/{organization}/members/{user} \ -H 'Coder-Session-Token: API_KEY'

DELETE /organizations/{organization}/members/{user}

Parameters

NameInTypeRequiredDescription
organizationpathstringtrueOrganization ID
userpathstringtrueUser ID, name, or me

Responses

StatusMeaningDescriptionSchema
204No ContentNo Content

To perform this operation, you must be authenticated. Learn more.

Assign role to organization member

Code samples

# Example request using curl curl -X PUT http://coder-server:8080/api/v2/organizations/{organization}/members/{user}/roles \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Coder-Session-Token: API_KEY'

PUT /organizations/{organization}/members/{user}/roles

Body parameter

{ "roles": [ "string" ] }

Parameters

NameInTypeRequiredDescription
organizationpathstringtrueOrganization ID
userpathstringtrueUser ID, name, or me
bodybodycodersdk.UpdateRolestrueUpdate roles request

Example responses

200 Response

{ "created_at": "2019-08-24T14:15:22Z", "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "roles": [ { "display_name": "string", "name": "string", "organization_id": "string" } ], "updated_at": "2019-08-24T14:15:22Z", "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5" }

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.OrganizationMember

To perform this operation, you must be authenticated. Learn more.

Paginated organization members

Code samples

# Example request using curl curl -X GET http://coder-server:8080/api/v2/organizations/{organization}/paginated-members \ -H 'Accept: application/json' \ -H 'Coder-Session-Token: API_KEY'

GET /organizations/{organization}/paginated-members

Parameters

NameInTypeRequiredDescription
organizationpathstringtrueOrganization ID
limitqueryintegerfalsePage limit, if 0 returns all members
offsetqueryintegerfalsePage offset

Example responses

200 Response

[ { "count": 0, "members": [ { "avatar_url": "string", "created_at": "2019-08-24T14:15:22Z", "email": "string", "global_roles": [ { "display_name": "string", "name": "string", "organization_id": "string" } ], "name": "string", "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "roles": [ { "display_name": "string", "name": "string", "organization_id": "string" } ], "updated_at": "2019-08-24T14:15:22Z", "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5", "username": "string" } ] } ]

Responses

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.PaginatedMembersResponse

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» countintegerfalse
» membersarrayfalse
»» avatar_urlstringfalse
»» created_atstring(date-time)false
»» emailstringfalse
»» global_rolesarrayfalse
»»» display_namestringfalse
»»» namestringfalse
»»» organization_idstringfalse
»» namestringfalse
»» organization_idstring(uuid)false
»» rolesarrayfalse
»» updated_atstring(date-time)false
»» user_idstring(uuid)false
»» usernamestringfalse

To perform this operation, you must be authenticated. Learn more.

Get site member roles

Code samples

# Example request using curl curl -X GET http://coder-server:8080/api/v2/users/roles \ -H 'Accept: application/json' \ -H 'Coder-Session-Token: API_KEY'

GET /users/roles

Example responses

200 Response

[ { "assignable": true, "built_in": true, "display_name": "string", "name": "string", "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6", "organization_member_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "organization_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "site_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ], "user_permissions": [ { "action": "application_connect", "negate": true, "resource_type": "*" } ] } ]

Responses

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.AssignableRoles

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» assignablebooleanfalse
» built_inbooleanfalseBuilt in roles are immutable
» display_namestringfalse
» namestringfalse
» organization_idstring(uuid)false
» organization_member_permissionsarrayfalseOrganization member permissions are specific for the organization in the field 'OrganizationID' above.
»» actioncodersdk.RBACActionfalse
»» negatebooleanfalseNegate makes this a negative permission
»» resource_typecodersdk.RBACResourcefalse
» organization_permissionsarrayfalseOrganization permissions are specific for the organization in the field 'OrganizationID' above.
» site_permissionsarrayfalse
» user_permissionsarrayfalse

Enumerated Values

PropertyValue(s)
actionapplication_connect, assign, create, create_agent, delete, delete_agent, read, read_personal, share, ssh, start, stop, unassign, update, update_personal, use, view_insights
resource_type*, aibridge_interception, api_key, assign_org_role, assign_role, audit_log, connection_log, crypto_key, debug_info, deployment_config, deployment_stats, file, group, group_member, idpsync_settings, inbox_notification, license, notification_message, notification_preference, notification_template, oauth2_app, oauth2_app_code_token, oauth2_app_secret, organization, organization_member, prebuilt_workspace, provisioner_daemon, provisioner_jobs, replicas, system, tailnet_coordinator, task, template, usage_event, user, user_secret, webpush_subscription, workspace, workspace_agent_devcontainers, workspace_agent_resource_monitor, workspace_dormant, workspace_proxy

To perform this operation, you must be authenticated. Learn more.