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

# Update your profile

> Edit user profile



## OpenAPI

````yaml /openapi.json put /users/edit-profile
openapi: 3.1.0
info:
  title: Cal ID API
  description: >-
    API documentation for external developers integrating with Cal ID. This
    documentation is auto-generated from our OpenAPI specification and includes
    details on all available endpoints, request/response schemas, and
    authentication methods.


    Authentication is required for all endpoints and can be done using API key
    generated from the Cal ID dashboard under the `settings/developer/api-keys`
    page. Use the Authorization header with the Bearer scheme to authenticate
    your requests.


    Example:

    - API Key: `Authorization: Bearer calid_xxxxx`


    Note: To manage Team's resources use the Team's owner/admin API key
  version: 1.0.0
  contact:
    name: API Support
    email: support@cal.id
    url: https://cal.id
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://api.cal.id
    description: 'Production server '
security:
  - bearerAuth: []
tags:
  - name: Health
    description: Health check endpoints
  - name: Users
    description: User management endpoints
  - name: Event Types
    description: Event type management endpoints
  - name: Teams
    description: Team management endpoints
  - name: Team Event Types
    description: Event type management endpoints for teams
  - name: Team Memberships
    description: Membership management endpoints for teams
  - name: Team Schedules
    description: Schedule management endpoints for teams
  - name: Availability
    description: User availability management endpoints
  - name: Schedule
    description: User schedule management endpoints
  - name: Slots
    description: Available slots retrieval endpoints
  - name: Booking
    description: Event booking endpoints
paths:
  /users/edit-profile:
    put:
      tags:
        - Users
      summary: Update your profile
      description: Edit user profile
      operationId: update_user_profile
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                  description: Public username slug shown on profile and booking pages.
                  example: john-doe
                name:
                  type: string
                  maxLength: 50
                  description: Display name for the user profile.
                  example: John Doe
                bio:
                  type: string
                  description: Short public profile biography.
                  example: Founder at Example Inc.
                avatarUrl:
                  type:
                    - string
                    - 'null'
                timeZone:
                  type: string
                  description: IANA time zone used for schedules and booking display.
                  example: Asia/Kolkata
                weekStart:
                  type: string
                  description: Preferred first day of week in calendar views.
                  example: Monday
                hideBranding:
                  type: boolean
                  description: Hide platform branding on booking pages and emails.
                  example: false
                allowDynamicBooking:
                  type: boolean
                  description: Allow dynamic booking behavior based on availability.
                  example: true
                allowSEOIndexing:
                  type: boolean
                  description: Allow search engines to index the public booking page.
                  example: true
                receiveMonthlyDigestEmail:
                  type: boolean
                  description: Receive monthly usage and activity digest emails.
                  example: true
                brandColor:
                  type: string
                  description: Primary brand color used on booking pages.
                  example: '#2563EB'
                darkBrandColor:
                  type: string
                  description: Brand color used for dark theme contexts.
                  example: '#1E40AF'
                theme:
                  description: UI theme for the user profile.
                  example: light
                  type: string
                  enum:
                    - light
                    - dark
                  nullable: true
                appTheme:
                  description: Application theme preference for supported clients.
                  example: light
                  type: string
                  nullable: true
                completedOnboarding:
                  type: boolean
                  description: Marks onboarding as completed for the user.
                  example: true
                locale:
                  type: string
                  description: Locale code used for formatting and localized content.
                  example: en
                timeFormat:
                  type: number
                  description: Preferred hour format. Typical values are 12 or 24.
                  example: 12
                disableImpersonation:
                  type: boolean
                  description: Prevent admin impersonation for this user when enabled.
                  example: false
                metadata:
                  type: object
                  additionalProperties: {}
                  description: Flexible metadata object for advanced profile settings.
                  example:
                    additionalProp1: {}
              additionalProperties: false
      responses:
        '200':
          description: Profile updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                      username:
                        type:
                          - 'null'
                          - string
                      email:
                        type: string
                      name:
                        type:
                          - 'null'
                          - string
                      avatarUrl:
                        type:
                          - 'null'
                          - string
                    required:
                      - id
                      - email
                    additionalProperties: false
                  message:
                    type: string
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          page:
                            type: number
                          limit:
                            type: number
                          total:
                            type: number
                          totalPages:
                            type: number
                        required:
                          - page
                          - limit
                          - total
                          - totalPages
                        additionalProperties: false
                    additionalProperties: {}
                required:
                  - success
                additionalProperties: false
                description: Profile updated successfully
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  message:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - success
                  - message
                  - error
                additionalProperties: false
                description: Unauthorized
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT | API Key
      description: |-

        Use the Authorization header with Bearer scheme.

        Examples:
        - API Key: Authorization: Bearer calid_xxxxx
            

````

## Related topics

- [Managing Your Cal ID Profile Settings](/docs/settings/profile.md)
- [Update your avatar](/docs/api-reference/users/update-your-avatar.md)
- [Get your profile](/docs/api-reference/users/get-your-profile.md)
- [How to Set Your Internal Time Format](/docs/settings/time-format.md)
- [Start of the Week](/docs/settings/start-of-week.md)
