> ## Documentation Index
> Fetch the complete documentation index at: https://docs.probe.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Update user



## OpenAPI

````yaml https://api.probedev.com/frontend/api/v1/openapi.json?include-base-path=true&v=2025-07-30 put /frontend/api/v1/user/current
openapi: 3.1.0
info:
  title: 'Probe.dev API Version: v1'
  description: Probe.dev API.
  version: v1.0
servers:
  - url: https://{host}
    variables:
      host:
        enum:
          - api.probe.dev
        default: api.probedev.com
        description: Server Hostname
security: []
tags:
  - name: Media
  - name: Auth
  - name: User
  - name: Billing
  - name: Statistics
paths:
  /frontend/api/v1/user/current:
    put:
      tags:
        - User
      summary: Update user
      operationId: routes/user.PutCurrentUser
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserPutCurrentUserRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FormDataUserPutCurrentUserRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPutCurrentUserResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouterUnauthorizedError'
      security:
        - api_key_header: []
        - api_key: []
        - jwt-token: []
        - jwt-cookie: []
        - jwt: []
components:
  schemas:
    UserPutCurrentUserRequest:
      properties:
        first-name:
          examples:
            - J
          type: string
        last-name:
          examples:
            - Doe
          type: string
        permissions:
          description: Permissions list
          items:
            $ref: '#/components/schemas/PermissionsName'
          type: array
        reset-permissions:
          default: false
          type: boolean
        restrictions:
          description: Restrictions list
          items:
            $ref: '#/components/schemas/PermissionsName'
          type: array
      type: object
    FormDataUserPutCurrentUserRequest:
      properties:
        first-name:
          examples:
            - J
          type: string
        last-name:
          examples:
            - Doe
          type: string
        permissions:
          description: Permissions list
          items:
            $ref: '#/components/schemas/PermissionsName'
          type: array
        reset-permissions:
          default: false
          type: boolean
        restrictions:
          description: Restrictions list
          items:
            $ref: '#/components/schemas/PermissionsName'
          type: array
      type: object
    UserPutCurrentUserResponse:
      properties:
        additional-emails:
          items:
            type: string
          type:
            - array
            - 'null'
        avatars:
          additionalProperties:
            type: string
          type:
            - object
            - 'null'
        created:
          format: date-time
          type: string
        email:
          examples:
            - theUser@probe.dev
          type: string
        first-name:
          examples:
            - J
          type: string
        id:
          minimum: 0
          type: integer
        last-name:
          examples:
            - Doe
          type: string
        parent:
          $ref: '#/components/schemas/UserShort'
        parent-user-ids:
          items:
            minimum: 0
            type: integer
          type:
            - array
            - 'null'
        permissions:
          $ref: '#/components/schemas/PermissionsMap'
        plan:
          $ref: '#/components/schemas/BillingPlan'
        restrictions:
          $ref: '#/components/schemas/PermissionsMap'
        role:
          $ref: '#/components/schemas/UsercommonRole'
        root-user-id:
          minimum: 0
          type: integer
        status:
          $ref: '#/components/schemas/UsercommonStatus'
        stripe_customer_id:
          type: string
        updated:
          format: date-time
          type: string
        username:
          examples:
            - theUser
          type: string
      required:
        - id
      type: object
    RouterUnauthorizedError:
      properties:
        code:
          description: Application-specific error code.
          type: integer
        context:
          additionalProperties: {}
          description: Application context.
          type: object
        error:
          description: Error message.
          type: string
        status:
          description: Status text.
          type: string
      type: object
    PermissionsName:
      default: read:billing
      enum:
        - read:admin
        - read:billing
        - read:invite
        - read:media
        - read:profile
        - read:statistics
        - read:sub-user
        - read:user
        - write:admin
        - write:billing
        - write:invite
        - write:media
        - write:sub-user
        - write:user
      type: string
    UserShort:
      properties:
        email:
          examples:
            - theUser@probe.dev
          type: string
        id:
          minimum: 0
          type: integer
        role:
          $ref: '#/components/schemas/UsercommonRole'
        status:
          $ref: '#/components/schemas/UsercommonStatus'
        username:
          examples:
            - theUser
          type: string
      required:
        - id
      type: object
    PermissionsMap:
      additionalProperties:
        $ref: '#/components/schemas/PermissionsPermission'
      type: object
    BillingPlan:
      properties:
        active:
          type: boolean
        amount:
          $ref: '#/components/schemas/BillingPlanAmount'
        created:
          format: date-time
          type: string
        currency:
          $ref: '#/components/schemas/BillingCurrency'
        description:
          type: string
        details:
          additionalProperties:
            $ref: '#/components/schemas/BillingPlanDetail'
          type:
            - object
            - 'null'
        id:
          type: string
        name:
          type: string
        recurring-interval:
          $ref: '#/components/schemas/BillingRecurringInterval'
        stripe-price: {}
        type:
          $ref: '#/components/schemas/BillingPlanType'
      type:
        - object
        - 'null'
    UsercommonRole:
      enum:
        - root
        - admin
        - user
        - sub
      type: string
    UsercommonStatus:
      enum:
        - anonymous
        - pending
        - active
        - suspended
      type: string
    PermissionsPermission:
      properties:
        name:
          $ref: '#/components/schemas/PermissionsName'
        scopes:
          items:
            type: string
          type: array
      type: object
    BillingPlanAmount:
      properties:
        fixed:
          format: double
          type: number
        max:
          format: double
          type: number
        min:
          format: double
          type: number
        preset:
          format: double
          type: number
        tiers:
          items:
            format: double
            type: number
          type: array
      type: object
    BillingCurrency:
      enum:
        - aed
        - afn
        - all
        - amd
        - ang
        - aoa
        - ars
        - aud
        - awg
        - azn
        - bam
        - bbd
        - bdt
        - bgn
        - bif
        - bmd
        - bnd
        - bob
        - brl
        - bsd
        - bwp
        - bzd
        - cad
        - cdf
        - chf
        - clp
        - cny
        - cop
        - crc
        - cve
        - czk
        - djf
        - dkk
        - dop
        - dzd
        - eek
        - egp
        - etb
        - eur
        - fjd
        - fkp
        - gbp
        - gel
        - gip
        - gmd
        - gnf
        - gtq
        - gyd
        - hkd
        - hnl
        - hrk
        - htg
        - huf
        - idr
        - ils
        - inr
        - isk
        - jmd
        - jpy
        - kes
        - kgs
        - khr
        - kmf
        - krw
        - kyd
        - kzt
        - lak
        - lbp
        - lkr
        - lrd
        - lsl
        - ltl
        - lvl
        - mad
        - mdl
        - mga
        - mkd
        - mnt
        - mop
        - mro
        - mur
        - mvr
        - mwk
        - mxn
        - myr
        - mzn
        - nad
        - ngn
        - nio
        - nok
        - npr
        - nzd
        - pab
        - pen
        - pgk
        - php
        - pkr
        - pln
        - pyg
        - qar
        - ron
        - rsd
        - rub
        - rwf
        - sar
        - sbd
        - scr
        - sek
        - sgd
        - shp
        - sll
        - sos
        - srd
        - std
        - svc
        - szl
        - thb
        - tjs
        - top
        - try
        - ttd
        - twd
        - tzs
        - uah
        - ugx
        - usd
        - uyu
        - uzs
        - vef
        - vnd
        - vuv
        - wst
        - xaf
        - xcd
        - xof
        - xpf
        - yer
        - zar
        - zmw
      type: string
    BillingPlanDetail:
      properties:
        description:
          type: string
        title:
          type: string
      type: object
    BillingRecurringInterval:
      enum:
        - month
        - day
        - week
        - year
      type: string
    BillingPlanType:
      enum:
        - recurring
        - one_time
      type: string
  securitySchemes:
    api_key_header:
      description: API Key Security (Header).
      type: http
      scheme: bearer
    api_key:
      description: API Key Security
      type: apiKey
      name: token
      in: query
    jwt-token:
      description: JWT API Security (Token).
      type: apiKey
      name: jwt
      in: query
    jwt-cookie:
      description: JWT API Security (Cookie).
      type: apiKey
      name: jwt
      in: cookie
    jwt:
      description: JWT API Security (Header).
      type: http
      scheme: bearer
      bearerFormat: JWT

````