Home
/
API
/
Users

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

NameInTypeRequiredDescription
qquerystringfalseSearch query
after_idquerystring(uuid)falseAfter ID
limitqueryintegerfalsePage limit
offsetqueryintegerfalsePage 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",
      "login_type": "",
      "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
      "roles": [
        {
          "display_name": "string",
          "name": "string"
        }
      ],
      "status": "active",
      "theme_preference": "string",
      "username": "string"
    }
  ]
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

{
  "disable_login": true,
  "email": "[email protected]",
  "login_type": "",
  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  "password": "string",
  "username": "string"
}

Parameters

NameInTypeRequiredDescription
bodybodycodersdk.CreateUserRequesttrueCreate 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",
  "login_type": "",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "theme_preference": "string",
  "username": "string"
}

Responses

StatusMeaningDescriptionSchema
201CreatedCreatedcodersdk.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": {
    "enabled": true
  },
  "oidc": {
    "enabled": true,
    "iconUrl": "string",
    "signInText": "string"
  },
  "password": {
    "enabled": true
  }
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
bodybodycodersdk.CreateFirstUserRequesttrueFirst user request

Example responses

201 Response

{
  "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

Responses

StatusMeaningDescriptionSchema
201CreatedCreatedcodersdk.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

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

StatusMeaningDescriptionSchema
307Temporary RedirectTemporary 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

StatusMeaningDescriptionSchema
307Temporary RedirectTemporary 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

NameInTypeRequiredDescription
userpathstringtrueUser ID, username, 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",
  "login_type": "",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "theme_preference": "string",
  "username": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
userpathstringtrueUser 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",
  "login_type": "",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "theme_preference": "string",
  "username": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.User

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

Update user appearance settings

Code samples

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

PUT /users/{user}/appearance

Body parameter

{
  "theme_preference": "string"
}

Parameters

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me
bodybodycodersdk.UpdateUserAppearanceSettingsRequesttrueNew appearance settings

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",
  "login_type": "",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "theme_preference": "string",
  "username": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
userpathstringtrueUser 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

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
userpathstringtrueUser 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

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me

Example responses

201 Response

{
  "key": "string"
}

Responses

StatusMeaningDescriptionSchema
201CreatedCreatedcodersdk.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

NameInTypeRequiredDescription
userpathstringtrueUser 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",
    "token_name": "string",
    "updated_at": "2019-08-24T14:15:22Z",
    "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
  }
]

Responses

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.APIKey

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» created_atstring(date-time)true
» expires_atstring(date-time)true
» idstringtrue
» last_usedstring(date-time)true
» lifetime_secondsintegertrue
» login_typecodersdk.LoginTypetrue
» scopecodersdk.APIKeyScopetrue
» token_namestringtrue
» updated_atstring(date-time)true
» user_idstring(uuid)true

Enumerated Values

PropertyValue
login_typepassword
login_typegithub
login_typeoidc
login_typetoken
scopeall
scopeapplication_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",
  "token_name": "string"
}

Parameters

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me
bodybodycodersdk.CreateTokenRequesttrueCreate token request

Example responses

201 Response

{
  "key": "string"
}

Responses

StatusMeaningDescriptionSchema
201CreatedCreatedcodersdk.GenerateAPIKeyResponse

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

Get API key by token name

Code samples

# Example request using curl
curl -X GET http://coder-server:8080/api/v2/users/{user}/keys/tokens/{keyname} \
  -H 'Accept: application/json' \
  -H 'Coder-Session-Token: API_KEY'

GET /users/{user}/keys/tokens/{keyname}

Parameters

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me
keynamepathstring(string)trueKey Name

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",
  "token_name": "string",
  "updated_at": "2019-08-24T14:15:22Z",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.APIKey

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

Get API key by ID

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

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me
keyidpathstring(uuid)trueKey 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",
  "token_name": "string",
  "updated_at": "2019-08-24T14:15:22Z",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me
keyidpathstring(uuid)trueKey ID

Responses

StatusMeaningDescriptionSchema
204No ContentNo Content

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

Get user login type

Code samples

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

GET /users/{user}/login-type

Parameters

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me

Example responses

200 Response

{
  "login_type": ""
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.UserLoginType

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

NameInTypeRequiredDescription
userpathstringtrueUser 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

StatusMeaningDescriptionSchema
200OKOKarray of codersdk.Organization

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
[array item]arrayfalse
» created_atstring(date-time)true
» idstring(uuid)true
» namestringtrue
» updated_atstring(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

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me
organizationnamepathstringtrueOrganization 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

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me
bodybodycodersdk.UpdateUserPasswordRequesttrueUpdate password request

Responses

StatusMeaningDescriptionSchema
204No ContentNo 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

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me
bodybodycodersdk.UpdateUserProfileRequesttrueUpdated 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",
  "login_type": "",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "theme_preference": "string",
  "username": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
userpathstringtrueUser 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",
  "login_type": "",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "theme_preference": "string",
  "username": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
userpathstringtrueUser ID, name, or me
bodybodycodersdk.UpdateRolestrueUpdate 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",
  "login_type": "",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "theme_preference": "string",
  "username": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
userpathstringtrueUser 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",
  "login_type": "",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "theme_preference": "string",
  "username": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.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

NameInTypeRequiredDescription
userpathstringtrueUser 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",
  "login_type": "",
  "organization_ids": ["497f6eca-6276-4993-bfeb-53cbbbba6f08"],
  "roles": [
    {
      "display_name": "string",
      "name": "string"
    }
  ],
  "status": "active",
  "theme_preference": "string",
  "username": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKOKcodersdk.User

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

See an opportunity to improve our docs? Make an edit.