Coder Users API

The Users API from Coder — 28 operation(s) for users.

Operations 40

GET /api/experimental/users/{user}/skills List user skills #
POST /api/experimental/users/{user}/skills Create a user skill #
GET /api/experimental/users/{user}/skills/{skillName} Get a user skill by name #
DELETE /api/experimental/users/{user}/skills/{skillName} Delete a user skill #
PATCH /api/experimental/users/{user}/skills/{skillName} Update a user skill #
GET /api/v2/users Get users #
POST /api/v2/users Create new user #
GET /api/v2/users/authmethods Get authentication methods #
GET /api/v2/users/first Check initial user created #
POST /api/v2/users/first Create initial user #
POST /api/v2/users/logout Log out user #
GET /api/v2/users/oauth2/github/callback OAuth 2.0 GitHub Callback #
GET /api/v2/users/oauth2/github/device Get Github device auth. #
GET /api/v2/users/oidc-claims Get OIDC claims for the authenticated user #
GET /api/v2/users/oidc/callback OpenID Connect Callback #
GET /api/v2/users/{user} Get user by name #
DELETE /api/v2/users/{user} Delete user #
GET /api/v2/users/{user}/appearance Get user appearance settings #
PUT /api/v2/users/{user}/appearance Update user appearance settings #
GET /api/v2/users/{user}/autofill-parameters Get autofill build parameters for user #
GET /api/v2/users/{user}/gitsshkey Get user Git SSH key #
PUT /api/v2/users/{user}/gitsshkey Regenerate user SSH key #
POST /api/v2/users/{user}/keys Create new session key #
GET /api/v2/users/{user}/keys/tokens Get user tokens #
POST /api/v2/users/{user}/keys/tokens Create token API key #
GET /api/v2/users/{user}/keys/tokens/{keyname} Get API key by token name #
GET /api/v2/users/{user}/keys/{keyid} Get API key by ID #
DELETE /api/v2/users/{user}/keys/{keyid} Delete API key #
PUT /api/v2/users/{user}/keys/{keyid}/expire Expire API key #
GET /api/v2/users/{user}/login-type Get user login type #
GET /api/v2/users/{user}/organizations Get organizations by user #
GET /api/v2/users/{user}/organizations/{organizationname} Get organization by user and organization name #
PUT /api/v2/users/{user}/password Update user password #
GET /api/v2/users/{user}/preferences Get user preference settings #
PUT /api/v2/users/{user}/preferences Update user preference settings #
PUT /api/v2/users/{user}/profile Update user profile #
GET /api/v2/users/{user}/roles Get user roles #
PUT /api/v2/users/{user}/roles Assign role to user #
PUT /api/v2/users/{user}/status/activate Activate user account #
PUT /api/v2/users/{user}/status/suspend Suspend user account #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/coder-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

coder-users-api-openapi.yml Raw ↑
openapi: 3.2.0
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 Users 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: Users
paths:
  /api/experimental/users/{user}/skills:
    get:
      operationId: list-user-skills
      summary: List user skills
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, username, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/codersdk.UserSkillMetadata'
    post:
      operationId: create-a-user-skill
      summary: Create a user skill
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, username, or me
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/codersdk.CreateUserSkillRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.UserSkill'
  /api/experimental/users/{user}/skills/{skillName}:
    get:
      operationId: get-a-user-skill-by-name
      summary: Get a user skill by name
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, username, or me
        schema:
          type: string
      - name: skillName
        in: path
        required: true
        description: Skill name
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.UserSkill'
    delete:
      operationId: delete-a-user-skill
      summary: Delete a user skill
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, username, or me
        schema:
          type: string
      - name: skillName
        in: path
        required: true
        description: Skill name
        schema:
          type: string
      responses:
        '204':
          description: No Content
    patch:
      operationId: update-a-user-skill
      summary: Update a user skill
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, username, or me
        schema:
          type: string
      - name: skillName
        in: path
        required: true
        description: Skill name
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/codersdk.UpdateUserSkillRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.UserSkill'
  /api/v2/users:
    get:
      operationId: get-users
      summary: Get users
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: q
        in: query
        required: false
        description: 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.GetUsersResponse'
    post:
      operationId: create-new-user
      summary: Create new user
      tags:
      - Users
      security:
      - CoderSessionToken: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/codersdk.CreateUserRequestWithOrgs'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.User'
  /api/v2/users/authmethods:
    get:
      operationId: get-authentication-methods
      summary: Get authentication methods
      tags:
      - Users
      security:
      - CoderSessionToken: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.AuthMethods'
  /api/v2/users/first:
    get:
      operationId: check-initial-user-created
      summary: Check initial user created
      tags:
      - Users
      security:
      - CoderSessionToken: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.Response'
    post:
      operationId: create-initial-user
      summary: Create initial user
      tags:
      - Users
      security:
      - CoderSessionToken: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/codersdk.CreateFirstUserRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.CreateFirstUserResponse'
  /api/v2/users/logout:
    post:
      operationId: log-out-user
      summary: Log out user
      tags:
      - Users
      security:
      - CoderSessionToken: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.Response'
  /api/v2/users/oauth2/github/callback:
    get:
      operationId: oauth-20-github-callback
      summary: OAuth 2.0 GitHub Callback
      tags:
      - Users
      security:
      - CoderSessionToken: []
      responses:
        '307':
          description: Temporary Redirect
  /api/v2/users/oauth2/github/device:
    get:
      operationId: get-github-device-auth
      summary: Get Github device auth.
      tags:
      - Users
      security:
      - CoderSessionToken: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.ExternalAuthDevice'
  /api/v2/users/oidc-claims:
    get:
      operationId: get-oidc-claims-for-the-authenticated-user
      summary: Get OIDC claims for the authenticated user
      tags:
      - Users
      security:
      - CoderSessionToken: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.OIDCClaimsResponse'
  /api/v2/users/oidc/callback:
    get:
      operationId: openid-connect-callback
      summary: OpenID Connect Callback
      tags:
      - Users
      security:
      - CoderSessionToken: []
      responses:
        '307':
          description: Temporary Redirect
  /api/v2/users/{user}:
    get:
      operationId: get-user-by-name
      summary: Get user by name
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, username, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.User'
    delete:
      operationId: delete-user
      summary: Delete user
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
  /api/v2/users/{user}/appearance:
    get:
      operationId: get-user-appearance-settings
      summary: Get user appearance settings
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.UserAppearanceSettings'
    put:
      operationId: update-user-appearance-settings
      summary: Update user appearance settings
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/codersdk.UpdateUserAppearanceSettingsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.UserAppearanceSettings'
  /api/v2/users/{user}/autofill-parameters:
    get:
      operationId: get-autofill-build-parameters-for-user
      summary: Get autofill build parameters for user
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, username, or me
        schema:
          type: string
      - name: template_id
        in: query
        required: true
        description: Template ID
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/codersdk.UserParameter'
  /api/v2/users/{user}/gitsshkey:
    get:
      operationId: get-user-git-ssh-key
      summary: Get user Git SSH key
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.GitSSHKey'
    put:
      operationId: regenerate-user-ssh-key
      summary: Regenerate user SSH key
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.GitSSHKey'
  /api/v2/users/{user}/keys:
    post:
      operationId: create-new-session-key
      summary: Create new session key
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.GenerateAPIKeyResponse'
  /api/v2/users/{user}/keys/tokens:
    get:
      operationId: get-user-tokens
      summary: Get user tokens
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      - name: include_expired
        in: query
        required: false
        description: Include expired tokens in the list
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/codersdk.APIKey'
    post:
      operationId: create-token-api-key
      summary: Create token API key
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/codersdk.CreateTokenRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.GenerateAPIKeyResponse'
  /api/v2/users/{user}/keys/tokens/{keyname}:
    get:
      operationId: get-api-key-by-token-name
      summary: Get API key by token name
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      - name: keyname
        in: path
        required: true
        description: Key Name
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.APIKey'
  /api/v2/users/{user}/keys/{keyid}:
    get:
      operationId: get-api-key-by-id
      summary: Get API key by ID
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      - name: keyid
        in: path
        required: true
        description: Key ID
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.APIKey'
    delete:
      operationId: delete-api-key
      summary: Delete API key
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      - name: keyid
        in: path
        required: true
        description: Key ID
        schema:
          type: string
      responses:
        '204':
          description: No Content
  /api/v2/users/{user}/keys/{keyid}/expire:
    put:
      operationId: expire-api-key
      summary: Expire API key
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      - name: keyid
        in: path
        required: true
        description: Key ID
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.Response'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.Response'
  /api/v2/users/{user}/login-type:
    get:
      operationId: get-user-login-type
      summary: Get user login type
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.UserLoginType'
  /api/v2/users/{user}/organizations:
    get:
      operationId: get-organizations-by-user
      summary: Get organizations by user
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/codersdk.Organization'
  /api/v2/users/{user}/organizations/{organizationname}:
    get:
      operationId: get-organization-by-user-and-organization-name
      summary: Get organization by user and organization name
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      - name: organizationname
        in: path
        required: true
        description: Organization name
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.Organization'
  /api/v2/users/{user}/password:
    put:
      operationId: update-user-password
      summary: Update user password
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/codersdk.UpdateUserPasswordRequest'
      responses:
        '204':
          description: No Content
  /api/v2/users/{user}/preferences:
    get:
      operationId: get-user-preference-settings
      summary: Get user preference settings
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.UserPreferenceSettings'
    put:
      operationId: update-user-preference-settings
      summary: Update user preference settings
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/codersdk.UpdateUserPreferenceSettingsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.UserPreferenceSettings'
  /api/v2/users/{user}/profile:
    put:
      operationId: update-user-profile
      summary: Update user profile
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/codersdk.UpdateUserProfileRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.User'
  /api/v2/users/{user}/roles:
    get:
      operationId: get-user-roles
      summary: Get user roles
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.User'
    put:
      operationId: assign-role-to-user
      summary: Assign role to user
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/codersdk.UpdateRoles'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.User'
  /api/v2/users/{user}/status/activate:
    put:
      operationId: activate-user-account
      summary: Activate user account
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.User'
  /api/v2/users/{user}/status/suspend:
    put:
      operationId: suspend-user-account
      summary: Suspend user account
      tags:
      - Users
      security:
      - CoderSessionToken: []
      parameters:
      - name: user
        in: path
        required: true
        description: User ID, name, or me
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/codersdk.User'
components:
  schemas:
    codersdk.CreateUserSkillRequest:
      type: object
      properties:
        content:
          type: string
          description: 'Content must be SKILL.md-format Markdown with YAML frontmatter. The

            frontmatter must include name, may include description, and must be

            followed by a non-empty body.'
    codersdk.AgentDisplayMode:
      type: string
      enum:
      - auto
      - always_expanded
      - always_collapsed
    codersdk.CreateUserRequestWithOrgs:
      type: object
      properties:
        email:
          type: string
          format: email
        login_type:
          description: UserLoginType defaults to LoginTypePassword.
          allOf:
          - $ref: '#/components/schemas/codersdk.LoginType'
        name:
          type: string
        organization_ids:
          type: array
          description: OrganizationIDs is a list of organization IDs that the user should be a member of.
          items:
            type: string
            format: uuid
        password:
          type: string
        roles:
          type: array
          description: Roles is an optional list of site-level roles to assign at creation.
          items:
            type: string
        service_account:
          type: boolean
          description: Service accounts are admin-managed accounts that cannot login.
        user_status:
          description: UserStatus defaults to UserStatusDormant.
          allOf:
          - $ref: '#/components/schemas/codersdk.UserStatus'
        username:
          type: string
      required:
      - username
    codersdk.UpdateRoles:
      type: object
      properties:
        roles:
          type: array
          items:
            type: string
    codersdk.GetUsersResponse:
      type: object
      properties:
        count:
          type: integer
        users:
          type: array
          items:
            $ref: '#/components/schemas/codersdk.User'
    codersdk.UserParameter:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
    codersdk.UpdateUserSkillRequest:
      type: object
      properties:
        content:
          type: string
          description: 'Content must be SKILL.md-format Markdown with YAML frontmatter. The

            frontmatter must include name, may include description, and must be

            followed by a non-empty body.'
    codersdk.UserPreferenceSettings:
      type: object
      properties:
        agent_chat_send_shortcut:
          $ref: '#/components/schemas/codersdk.AgentChatSendShortcut'
        code_diff_display_mode:
          $ref: '#/components/schemas/codersdk.AgentDisplayMode'
        shell_tool_display_mode:
          $ref: '#/components/schemas/codersdk.AgentDisplayMode'
        task_notification_alert_dismissed:
          type: boolean
        thinking_display_mode:
          $ref: '#/components/schemas/codersdk.ThinkingDisplayMode'
    codersdk.APIKey:
      type: object
      properties:
        allow_list:
          type: array
          items:
            $ref: '#/components/schemas/codersdk.APIAllowListTarget'
        created_at:
          type: string
          format: date-time
        expires_at:
          type: string
          format: date-time
        id:
          type: string
        last_used:
          type: string
          format: date-time
        lifetime_seconds:
          type: integer
        login_type:
          enum:
          - password
          - github
          - oidc
          - token
          allOf:
          - $ref: '#/components/schemas/codersdk.LoginType'
        scope:
          description: 'Deprecated: use Scopes instead.'
          enum:
          - all
          - application_connect
          allOf:
          - $ref: '#/components/schemas/codersdk.APIKeyScope'
        scopes:
          type: array
          items:
            $ref: '#/components/schemas/codersdk.APIKeyScope'
        token_name:
          type: string
        updated_at:
          type: string
          format: date-time
        user_id:
          type: string
          format: uuid
      required:
      - created_at
      - expires_at
      - id
      - last_used
      - lifetime_seconds
      - login_type
      - token_name
      - updated_at
      - user_id
    codersdk.UserAppearanceSettings:
      type: object
      properties:
        terminal_font:
          $ref: '#/components/schemas/codersdk.TerminalFontName'
        theme_dark:
          type: string
          description: Ignored when ThemeMode is "single"
        theme_light:
          type: string
          description: Ignored when ThemeMode is "single"
        theme_mode:
          $ref: '#/components/schemas/codersdk.ThemeMode'
        theme_preference:
          type: string
          description: 'ThemePreference is the legacy single-field appearance setting. In

            "single" mode it mirrors the active theme. In "sync" mode modern

            clients normally mirror the active OS slot, but older clients can

            update only this field, so it may diverge from ThemeLight or

            ThemeDark until a modern client saves the full appearance state

            again.'
    codersdk.GithubAuthMethod:
      type: object
      properties:
        default_provider_configured:
          type: boolean
        enabled:
          type: boolean
    codersdk.CreateFirstUserTrialInfo:
      type: object
      properties:
        company_name:
          type: string
        country:
          type: string
        developers:
          type: string
        first_name:
          type: string
        job_title:
          type: string
        last_name:
          type: string
        phone_number:
          type: string
    codersdk.APIKeyScope:
      type: string
      enum:
      - all
      - application_connect
      - ai_gateway_key:*
      - ai_gateway_key:create
      - ai_gateway_key:delete
      - ai_gateway_key:read
      - ai_model_price:*
      - ai_model_price:read
      - ai_model_price:update
      - ai_provider:*
      - ai_provider:create
      - ai_provider:delete
      - ai_provider:read
      - ai_provider:update
      - ai_seat:*
      - ai_seat:create
      - ai_seat:read
      - aibridge_interception:*
      - aibridge_interception:create
      - aibridge_interception:read
      - aibridge_interception:update
      - api_key:*
      - api_key:create
      - api_key:delete
      - api_key:read
      - api_key:update
      - assign_org_role:*
      - assign_org_role:assign
      - assign_org_role:create
      - assign_org_role:delete
      - assign_org_role:read
      - assign_org_role:unassign
      - assign_org_role:update
      - assign_role:*
      - assign_role:assign
      - assign_role:read
      - assign_role:unassign
      - audit_log:*
      - audit_log:create
      - audit_log:read
      - boundary_log:*
      - boundary_log:create
      - boundary_log:delete
      - boundary_log:read
      - boundary_usage:*
      - boundary_usage:delete
      - boundary_usage:read
      - boundary_usage:update
      - chat:*
      - chat:create
      - chat:delete
      - chat:read
      - chat:share
      - chat:update
      - coder:all
      - coder:apikeys.manage_self
      - coder:application_connect
      - coder:templates.author
      - coder:templates.build
      - coder:workspaces.access
      - coder:workspaces.create
      - coder:workspaces.delete
      - coder:workspaces.operate
      - connection_log:*
      - connection_log:read
      - connection_log:update
      - crypto_key:*
      - crypto_key:create
      - crypto_key:delete
      - crypto_key:read
      - crypto_key:update
      - debug_info:*
      - debug_info:read
      - deployment_config:*
      - deployment_config:read
      - deployment_config:update
      - deployment_stats:*
      - deployment_stats:read
      - file:*
      - file:create
      - file:read
      - group:*
      - group:create
      - group:delete
      - group:read
      - group:update
      - group_member:*
      - group_member:read
      - idpsync_settings:*
      - idpsync_settings:read
      - idpsync_settings:update
      - inbox_notification:*
      - inbox_notification:create
      - inbox_notification:read
      - inbox_notification:update
      - license:*
      - license:create
      - license:delete
      - license:read
      - notification_message:*
      

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coder/refs/heads/main/openapi/coder-users-api-openapi.yml