Users
Get users
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
GET /users
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
q | query | string | false | Search query | 
after_id | query | string(uuid) | false | After ID | 
limit | query | integer | false | Page limit | 
offset | query | integer | false | Page offset | 
Example responses
200 Response
{
  "count": 0,
  "users": [
    {
      "avatar_url": "http://example.com",
      "created_at": "2019-08-24T14:15:22Z",
      "email": "[email protected]",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "last_seen_at": "2019-08-24T14:15:22Z",
      "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
      "roles": [
        {
          "display_name": "string",
          "name": "string"
        }
      ],
      "status": "active",
      "username": "string"
    }
  ]
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.GetUsersResponse | 
To perform this operation, you must be authenticated. Learn more.
Create new user
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/users \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
POST /users
Body parameter
{
  "email": "[email protected]",
  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  "password": "string",
  "username": "string"
}
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
body | body | codersdk.CreateUserRequest | true | Create user request | 
Example responses
201 Response
{
  "avatar_url": "http://example.com",
  "created_at": "2019-08-24T14:15:22Z",
  "email": "[email protected]",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "last_seen_at": "2019-08-24T14:15:22Z",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "username": "string"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 201 | Created | Created | codersdk.User | 
To perform this operation, you must be authenticated. Learn more.
Get authentication methods
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/authmethods \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
GET /users/authmethods
Example responses
200 Response
{
  "github": true,
  "oidc": true,
  "password": true
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.AuthMethods | 
To perform this operation, you must be authenticated. Learn more.
Check initial user created
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/first \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
GET /users/first
Example responses
200 Response
{
  "detail": "string",
  "message": "string",
  "validations": [
    {
      "detail": "string",
      "field": "string"
    }
  ]
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.Response | 
To perform this operation, you must be authenticated. Learn more.
Create initial user
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/users/first \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
POST /users/first
Body parameter
{
  "email": "string",
  "password": "string",
  "trial": true,
  "username": "string"
}
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
body | body | codersdk.CreateFirstUserRequest | true | First user request | 
Example responses
201 Response
{
  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 201 | Created | Created | codersdk.CreateFirstUserResponse | 
To perform this operation, you must be authenticated. Learn more.
Log out user
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/users/logout \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
POST /users/logout
Example responses
200 Response
{
  "detail": "string",
  "message": "string",
  "validations": [
    {
      "detail": "string",
      "field": "string"
    }
  ]
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.Response | 
To perform this operation, you must be authenticated. Learn more.
OAuth 2.0 GitHub Callback
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/oauth2/github/callback \
  -H 'Coder-Session-Token: API_KEY'
GET /users/oauth2/github/callback
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 307 | Temporary Redirect | Temporary Redirect | 
To perform this operation, you must be authenticated. Learn more.
OpenID Connect Callback
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/oidc/callback \
  -H 'Coder-Session-Token: API_KEY'
GET /users/oidc/callback
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 307 | Temporary Redirect | Temporary Redirect | 
To perform this operation, you must be authenticated. Learn more.
Get user by name
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/{user} \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
GET /users/{user}
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
Example responses
200 Response
{
  "avatar_url": "http://example.com",
  "created_at": "2019-08-24T14:15:22Z",
  "email": "[email protected]",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "last_seen_at": "2019-08-24T14:15:22Z",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "username": "string"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.User | 
To perform this operation, you must be authenticated. Learn more.
Delete user
Code samples
# Example request using curl
curl -X DELETE http://coder-server:8080/api/v2/users/{user} \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
DELETE /users/{user}
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
Example responses
200 Response
{
  "avatar_url": "http://example.com",
  "created_at": "2019-08-24T14:15:22Z",
  "email": "[email protected]",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "last_seen_at": "2019-08-24T14:15:22Z",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "username": "string"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.User | 
To perform this operation, you must be authenticated. Learn more.
Get user Git SSH key
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/{user}/gitsshkey \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
GET /users/{user}/gitsshkey
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
Example responses
200 Response
{
  "created_at": "2019-08-24T14:15:22Z",
  "public_key": "string",
  "updated_at": "2019-08-24T14:15:22Z",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.GitSSHKey | 
To perform this operation, you must be authenticated. Learn more.
Regenerate user SSH key
Code samples
# Example request using curl
curl -X PUT http://coder-server:8080/api/v2/users/{user}/gitsshkey \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
PUT /users/{user}/gitsshkey
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
Example responses
200 Response
{
  "created_at": "2019-08-24T14:15:22Z",
  "public_key": "string",
  "updated_at": "2019-08-24T14:15:22Z",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.GitSSHKey | 
To perform this operation, you must be authenticated. Learn more.
Create new session key
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/users/{user}/keys \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
POST /users/{user}/keys
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
Example responses
201 Response
{
  "key": "string"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 201 | Created | Created | codersdk.GenerateAPIKeyResponse | 
To perform this operation, you must be authenticated. Learn more.
Get user tokens
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
GET /users/{user}/keys/tokens
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
Example responses
200 Response
[
  {
    "created_at": "2019-08-24T14:15:22Z",
    "expires_at": "2019-08-24T14:15:22Z",
    "id": "string",
    "last_used": "2019-08-24T14:15:22Z",
    "lifetime_seconds": 0,
    "login_type": "password",
    "scope": "all",
    "updated_at": "2019-08-24T14:15:22Z",
    "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
  }
]
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | array of codersdk.APIKey | 
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description | 
|---|---|---|---|---|
[array item] | array | false | ||
» created_at | string(date-time) | true | ||
» expires_at | string(date-time) | true | ||
» id | string | true | ||
» last_used | string(date-time) | true | ||
» lifetime_seconds | integer | true | ||
» login_type | codersdk.LoginType | true | ||
» scope | codersdk.APIKeyScope | true | ||
» updated_at | string(date-time) | true | ||
» user_id | string(uuid) | true | 
Enumerated Values
| Property | Value | 
|---|---|
login_type | password | 
login_type | github | 
login_type | oidc | 
login_type | token | 
scope | all | 
scope | application_connect | 
To perform this operation, you must be authenticated. Learn more.
Create token API key
Code samples
# Example request using curl
curl -X POST http://coder-server:8080/api/v2/users/{user}/keys/tokens \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
POST /users/{user}/keys/tokens
Body parameter
{
  "lifetime": 0,
  "scope": "all"
}
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
body | body | codersdk.CreateTokenRequest | true | Create token request | 
Example responses
201 Response
{
  "key": "string"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 201 | Created | Created | codersdk.GenerateAPIKeyResponse | 
To perform this operation, you must be authenticated. Learn more.
Get API key
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/{keyid} \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
GET /users/{user}/keys/{keyid}
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
keyid | path | string(uuid) | true | Key ID | 
Example responses
200 Response
{
  "created_at": "2019-08-24T14:15:22Z",
  "expires_at": "2019-08-24T14:15:22Z",
  "id": "string",
  "last_used": "2019-08-24T14:15:22Z",
  "lifetime_seconds": 0,
  "login_type": "password",
  "scope": "all",
  "updated_at": "2019-08-24T14:15:22Z",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.APIKey | 
To perform this operation, you must be authenticated. Learn more.
Delete API key
Code samples
# Example request using curl
curl -X DELETE http://coder-server:8080/api/v2/users/{user}/keys/{keyid} \
  -H 'Coder-Session-Token: API_KEY'
DELETE /users/{user}/keys/{keyid}
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
keyid | path | string(uuid) | true | Key ID | 
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 204 | No Content | No Content | 
To perform this operation, you must be authenticated. Learn more.
Get organizations by user
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/{user}/organizations \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
GET /users/{user}/organizations
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
Example responses
200 Response
[
  {
    "created_at": "2019-08-24T14:15:22Z",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "updated_at": "2019-08-24T14:15:22Z"
  }
]
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | array of codersdk.Organization | 
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description | 
|---|---|---|---|---|
[array item] | array | false | ||
» created_at | string(date-time) | true | ||
» id | string(uuid) | true | ||
» name | string | true | ||
» updated_at | string(date-time) | true | 
To perform this operation, you must be authenticated. Learn more.
Get organization by user and organization name
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/{user}/organizations/{organizationname} \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
GET /users/{user}/organizations/{organizationname}
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
organizationname | path | string | true | Organization name | 
Example responses
200 Response
{
  "created_at": "2019-08-24T14:15:22Z",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "updated_at": "2019-08-24T14:15:22Z"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.Organization | 
To perform this operation, you must be authenticated. Learn more.
Update user password
Code samples
# Example request using curl
curl -X PUT http://coder-server:8080/api/v2/users/{user}/password \
  -H 'Content-Type: application/json' \
  -H 'Coder-Session-Token: API_KEY'
PUT /users/{user}/password
Body parameter
{
  "old_password": "string",
  "password": "string"
}
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
body | body | codersdk.UpdateUserPasswordRequest | true | Update password request | 
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 204 | No Content | No Content | 
To perform this operation, you must be authenticated. Learn more.
Update user profile
Code samples
# Example request using curl
curl -X PUT http://coder-server:8080/api/v2/users/{user}/profile \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
PUT /users/{user}/profile
Body parameter
{
  "username": "string"
}
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
body | body | codersdk.UpdateUserProfileRequest | true | Updated profile | 
Example responses
200 Response
{
  "avatar_url": "http://example.com",
  "created_at": "2019-08-24T14:15:22Z",
  "email": "[email protected]",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "last_seen_at": "2019-08-24T14:15:22Z",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "username": "string"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.User | 
To perform this operation, you must be authenticated. Learn more.
Get user roles
Code samples
# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/{user}/roles \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
GET /users/{user}/roles
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
Example responses
200 Response
{
  "avatar_url": "http://example.com",
  "created_at": "2019-08-24T14:15:22Z",
  "email": "[email protected]",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "last_seen_at": "2019-08-24T14:15:22Z",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "username": "string"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.User | 
To perform this operation, you must be authenticated. Learn more.
Assign role to user
Code samples
# Example request using curl
curl -X PUT http://coder-server:8080/api/v2/users/{user}/roles \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
PUT /users/{user}/roles
Body parameter
{
  "roles": ["string"]
}
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
body | body | codersdk.UpdateRoles | true | Update roles request | 
Example responses
200 Response
{
  "avatar_url": "http://example.com",
  "created_at": "2019-08-24T14:15:22Z",
  "email": "[email protected]",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "last_seen_at": "2019-08-24T14:15:22Z",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "username": "string"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.User | 
To perform this operation, you must be authenticated. Learn more.
Activate user account
Code samples
# Example request using curl
curl -X PUT http://coder-server:8080/api/v2/users/{user}/status/activate \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
PUT /users/{user}/status/activate
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
Example responses
200 Response
{
  "avatar_url": "http://example.com",
  "created_at": "2019-08-24T14:15:22Z",
  "email": "[email protected]",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "last_seen_at": "2019-08-24T14:15:22Z",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "username": "string"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.User | 
To perform this operation, you must be authenticated. Learn more.
Suspend user account
Code samples
# Example request using curl
curl -X PUT http://coder-server:8080/api/v2/users/{user}/status/suspend \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'
PUT /users/{user}/status/suspend
Parameters
| Name | In | Type | Required | Description | 
|---|---|---|---|---|
user | path | string | true | User ID, name, or me | 
Example responses
200 Response
{
  "avatar_url": "http://example.com",
  "created_at": "2019-08-24T14:15:22Z",
  "email": "[email protected]",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "last_seen_at": "2019-08-24T14:15:22Z",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "username": "string"
}
Responses
| Status | Meaning | Description | Schema | 
|---|---|---|---|
| 200 | OK | OK | codersdk.User | 
To perform this operation, you must be authenticated. Learn more.

