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

# Update user details

> This API allows a logged in user to update his own details in the fabric Identity. fabric Identity stores only the infromation that is necessary for user authentication functionality. The other customer details of the user like shipping and communication preferences are to be stored in the customer service APIs of fabric.



## OpenAPI

````yaml identity_v2 put /users/self
openapi: 3.0.0
info:
  description: >-
    User self service APIs are provided for `userapp`(s) developers to quickly
    build support for typical identity account operations like get/update login
    information, change password and forgot password flows.
  version: 2.0.0
  termsOfService: https://fabric.inc/terms-of-use
  title: User Self Service APIs
  contact:
    email: support@fabric.inc
  license:
    name: fabric API License
    url: https://fabric.inc/api-license
servers:
  - url: https://api.identity.fabric.zone/ums/v2
    description: Production
security: []
tags:
  - name: User Self Service APIs
    description: >-
      These APIs allow `userapp`(s) to provide user self service for their
      identity accounts. These include basic user services like get/update login
      information, change password and forgot password flows.
externalDocs:
  description: Find out more about User Self Service APIs
  url: https://developer.fabric.inc/reference/user-self-service-apis
paths:
  /users/self:
    put:
      tags:
        - User Self Service APIs
      summary: Update user details
      description: >-
        This API allows a logged in user to update his own details in the fabric
        Identity. fabric Identity stores only the infromation that is necessary
        for user authentication functionality. The other customer details of the
        user like shipping and communication preferences are to be stored in the
        customer service APIs of fabric.
      operationId: updateUserDetailsBySelf
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserRequestSelf'
      responses:
        '200':
          description: User Identity Object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              example:
                id: 1231012312-312-31231asda
                status: active
                orgId: 4ed1acc6-7799-4bee-856e-91f18ca77d7a
                loginId: testuser@gmail.com
                isStaffUserFederated: true
                email: foo@bar.com
                primaryContact: +1 234 8992341234
                firstName: James
                lastName: Bond
                meta:
                  fabricBirthDate: 28-20-2000
        '403':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    UpdateUserRequestSelf:
      description: Update User Self Details
      type: object
      properties:
        loginId:
          type: string
          description: User Login Id
          example: sdsdf232ew-123asdaa-1231231
        email:
          type: string
          description: User Email Id
          format: email
          example: test.user@foobar.com
        firstName:
          type: string
          description: User First Name
          example: Test
        lastName:
          type: string
          description: User Last Name
          example: Jr
        primaryContact:
          type: string
          description: User Primary Contact
          example: +1 650 333 4444
    User:
      allOf:
        - $ref: '#/components/schemas/BaseModel'
        - type: object
          properties:
            loginId:
              type: string
              description: User Login Id
              example: test.user@foobar.com
            orgId:
              type: string
              description: User Organization Id
              example: 123123-23wdd-123234
            isStaffUserFederated:
              type: boolean
              description: User Staff Organization
              example: false
            meta:
              type: object
              additionalProperties:
                type: string
              example:
                fabricBirthDate: 28-20-2000
            email:
              type: string
              description: User Email Id
              format: email
              example: test.user@foobar.com
            firstName:
              type: string
              description: User First Name
              example: Test
            lastName:
              type: string
              description: User Last Name
              example: User
            primaryContact:
              type: string
              description: User Primary Contact
              example: +1 650 333 4444
    BaseModel:
      type: object
      properties:
        id:
          type: string
          description: Id
          example: 8fed3942-b742-4559-bc99-e4129e888eb1
        status:
          type: string
          description: Role Status
          enum:
            - active
            - inactive
          default: active
          example: active
    Message:
      type: object
      properties:
        code:
          type: string
          enum:
            - INTERNAL_SERVER_ERROR
            - RECORD_NOT_FOUND
            - REQUEST_DENIED
            - INSUFFICIENT_PARAMS
            - INVALID_USER_ACCOUNT
            - USER_NOT_FOUND
            - ACCOUNT_EXISTS
            - BAD_REQUEST
        message:
          type: string
      required:
        - code
        - message
  responses:
    Unauthorized:
      description: User is not allowed to perform the action
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Message'
          example:
            code: REQUEST_DENIED
            message: User does not have the required permission
    InternalServerError:
      description: The request was received but an internal error occurred
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Message'
          example:
            code: INTERNAL_SERVER_ERROR
            message: Internal server error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````