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

# Update current user info

> Send a PATCH request with the user's data to add or upsert a user info entry.
If the user info already exists, it will be updated. If the user info does not exist, it will be created.



## OpenAPI

````yaml patch /user/
openapi: 3.0.3
info:
  title: Letraz Backend Server
  version: 0.1.0
  description: >-
    This is the backend service repository of Letraz. Create tailored resumes
    for every job application effortlessly with Letraz. Our AI-powered tool
    helps you stand out by automatically optimizing your resume for ATS and
    recruiters, ensuring your skills and experience match the job's
    requirements.
servers:
  - url: https://api.letraz.app/api/v1
    description: Production Server
  - url: http://localhost:8000/api/v1
    description: Local Development Server
security: []
tags:
  - name: Core APIs
    description: Core APIs for Letraz Backend
  - name: Waitlist
    description: >-
      Mange waitlist, signups, retrieve waitlist and everything related to
      waitlist
  - name: User
    description: Get or update user details of currently logged in user
  - name: Job object
    description: >-
      Manage job objects, retrieve job objects and everything related to job
      objects
  - name: Resume object
    description: >-
      Manage resume objects, retrieve resume objects and everything related to
      resume objects
  - name: Education object
    description: >-
      Manage education objects, retrieve education objects and everything
      related to education objects
  - name: Experience object
    description: >-
      Manage experience objects, retrieve experience objects and everything
      related to experience objects
paths:
  /user/:
    patch:
      tags:
        - User
      summary: Update current user info
      description: >-
        Send a PATCH request with the user's data to add or upsert a user info
        entry.

        If the user info already exists, it will be updated. If the user info
        does not exist, it will be created.
      operationId: user_partial_update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUserUpsert'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUserUpsert'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUserUpsert'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: ''
      security:
        - basicAuth: []
        - cookieAuth: []
        - cookieAuth: []
components:
  schemas:
    PatchedUserUpsert:
      type: object
      properties:
        id:
          type: string
          readOnly: true
          description: >-
            The unique identifier for the user. Typically provided from the
            client side while creating the user.
        password:
          type: string
          readOnly: true
        last_login:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        is_superuser:
          type: boolean
          readOnly: true
          title: Superuser status
          description: >-
            Designates that this user has all permissions without explicitly
            assigning them.
        title:
          type: string
          nullable: true
          description: The title of the user. This can be Mr., Mrs., Dr., etc. (optional)
          maxLength: 10
        first_name:
          type: string
          description: The first name of the user.
          maxLength: 50
        last_name:
          type: string
          nullable: true
          description: The last name of the user. (optional)
          maxLength: 50
        email:
          type: string
          format: email
          description: The email of the user. Needs to be unique and a valid email.
          maxLength: 254
        phone:
          type: string
          nullable: true
          description: The phone number of the user. (optional)
          maxLength: 25
        dob:
          type: string
          format: date
          nullable: true
          description: The date of birth of the user. (optional)
        nationality:
          type: string
          nullable: true
          description: The nationality of the user. (optional)
          maxLength: 50
        address:
          type: string
          nullable: true
          description: >-
            The address line of the user. Typically includes the apartment or
            plot number and the locality. (optional)
          maxLength: 500
        city:
          type: string
          nullable: true
          description: The city the user lives in. (optional)
          maxLength: 50
        postal:
          type: string
          nullable: true
          description: The postal code of the user. (optional)
          maxLength: 50
        website:
          type: string
          nullable: true
          description: The user's personal portfolio or blog website. (optional)
          maxLength: 50
        profile_text:
          type: string
          nullable: true
          description: >-
            The profile text of the user. This can be a short bio or a summary
            This would be shows on top of the user's resume. (optional)
          maxLength: 1000
        is_active:
          type: boolean
          readOnly: true
        is_staff:
          type: boolean
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: The timestamp at which the user was created.
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: The timestamp at which the user was last updated.
        country:
          type: string
          description: The country the user lives in. (optional)
          nullable: true
    User:
      type: object
      properties:
        id:
          type: string
          readOnly: true
          description: >-
            The unique identifier for the user. Typically provided from the
            client side while creating the user.
        title:
          type: string
          nullable: true
          description: The title of the user. This can be Mr., Mrs., Dr., etc. (optional)
          maxLength: 10
        first_name:
          type: string
          description: The first name of the user.
          maxLength: 50
        last_name:
          type: string
          nullable: true
          description: The last name of the user. (optional)
          maxLength: 50
        email:
          type: string
          format: email
          description: The email of the user. Needs to be unique and a valid email.
          maxLength: 254
        phone:
          type: string
          nullable: true
          description: The phone number of the user. (optional)
          maxLength: 25
        dob:
          type: string
          format: date
          nullable: true
          description: The date of birth of the user. (optional)
        nationality:
          type: string
          nullable: true
          description: The nationality of the user. (optional)
          maxLength: 50
        address:
          type: string
          nullable: true
          description: >-
            The address line of the user. Typically includes the apartment or
            plot number and the locality. (optional)
          maxLength: 500
        city:
          type: string
          nullable: true
          description: The city the user lives in. (optional)
          maxLength: 50
        postal:
          type: string
          nullable: true
          description: The postal code of the user. (optional)
          maxLength: 50
        country:
          $ref: '#/components/schemas/Country'
        website:
          type: string
          nullable: true
          description: The user's personal portfolio or blog website. (optional)
          maxLength: 50
        profile_text:
          type: string
          nullable: true
          description: >-
            The profile text of the user. This can be a short bio or a summary
            This would be shows on top of the user's resume. (optional)
          maxLength: 1000
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: The timestamp at which the user was created.
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: The timestamp at which the user was last updated.
      required:
        - country
        - created_at
        - email
        - first_name
        - id
        - updated_at
    ErrorEnvelope:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/Error'
      required:
        - error
    Country:
      type: object
      properties:
        code:
          type: string
          description: The ISO 3166-1 alpha-3 code of the country.
          maxLength: 3
        name:
          type: string
          description: The name of the country.
          maxLength: 250
      required:
        - code
        - name
    Error:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            The unique identifier for the error response. This is useful for
            tracking the error in the logs and in Sentry if it is enabled.
        code:
          type: string
          description: >-
            The error code that is unique to the error type. This can be used to
            identify the error type and can be used for debugging.
        message:
          type: string
          description: >-
            The error message that is human readable and can be used to
            understand the error. Usually fit to be displayed to the user.
        details:
          type: string
          description: >-
            The error details that can be used to understand the error in more
            detail. This can be used for debugging purposes.
        extra:
          type: string
          description: >-
            The extra data that can be used to understand the error in more
            detail. This is usually not displayed to the user and might include
            stacktrace and sensitive information.
      required:
        - code
        - details
        - extra
        - message
        - uuid
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid

````