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

# Update User Personal Info

Enables the update of basic user details, including name, date of birth, and country information. Note that user profile information is distinct from a user's KYC details, and is available for both KYC'd and non-KYC'd users.


## OpenAPI

````yaml put /users/me/update-profile
openapi: 3.0.3
info:
  version: 2.1.0
  title: Onboard External API Gateway
  description: >-
    **Introduction**

    API Gateway for Onboard


    This specification describes API endpoints that are available to the public
    internet via the API gateway. The different endpoints require different
    authentication schemes, see documentation for what applies to the operation
    you want to access.


    **Errors**

    Uses conventional HTTP response codes to indicate success or failure. In

    general:
     
    - `2xx` status codes indicate success. Codes in the

    - `4xx` range

    indicate a client error (e.g. required parameters, failed request etc.).

    - `5xx` status codes indicate a server error occurred.
  contact:
    name: Nestcoin TechOps
    email: techops@nestcoin.com
  license:
    name: UNLICENSED
servers:
  - url: https://external.dev.onboardpay.co
    description: Gateway for external API on staging environment.
security: []
tags:
  - name: users-onboardapi
    description: Endpoints available to for merchants liquidity automation
  - name: users-users
    description: User related endpoints
  - name: users-partners
    description: Partner related endpoints
  - name: users-admin
    description: Back office related endpoints
  - name: users-user2fa
    description: User 2fa related endpoints
  - name: users-usernotifications
    description: User notifications related endpoints
  - name: users-merchantnetwork
    description: Merchant network endpoints
  - name: users-userauth
    description: Authentication endpoints
  - name: users-userservice
    description: Service endpoints
  - name: users-webhook
    description: webhook endpoints
paths:
  /users/me/update-profile:
    put:
      tags:
        - users-users
      summary: Update partner's personal information
      operationId: updateProfile
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProfileRequestDto'
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserProfileDataDto'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security:
        - authToken: []
components:
  schemas:
    UpdateProfileRequestDto:
      type: object
      properties:
        fullname:
          type: string
          description: User's full name
        country:
          type: string
          description: User's country
          example: NG
        dob:
          type: string
          description: User's date of birth
          format: date
          example: '2024-04-18T00:00:00.000Z'
        hasBusinessBankAccount:
          type: boolean
          description: partner has a business account
        displayName:
          type: string
          description: User's display name
        proofOfAddress:
          type: string
          description: Proof of partner's address
    UserProfileDataDto:
      type: object
      properties:
        email:
          type: string
        userType:
          $ref: '#/components/schemas/UsersSvcUserType'
        profile:
          $ref: '#/components/schemas/ProfileDataDto'
    ErrorMessageDto:
      description: >-
        Default error object for services. This gives consistent error object
        that all services may use.
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Error code
          example: UNKNOWN_ERROR
        message:
          type: string
          description: Descriptive error message
          example: Request could not be completed due to an error
        data:
          type: object
          description: Additional data for this error message.
          additionalProperties: true
          properties: {}
      x-common-model: ErrorMessageDto
    UsersSvcUserType:
      type: string
      description: the type of the user
      enum:
        - CUSTOMER
        - PARTNER
    ProfileDataDto:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/VerificationStatus'
        fullname:
          type: string
          description: User's full name
        country:
          type: string
          description: User's country
          example: NG
        dob:
          type: string
          description: User's date of birth
          format: date
          example: '2024-04-18T00:00:00.000Z'
        displayName:
          type: string
          description: User's display name
        proofOfAddress:
          type: string
          description: Proof of partner's address
        hasBusinessBankAccount:
          type: boolean
          description: partner has a business account
        businessName:
          type: string
        certificateOfIncorporation:
          type: string
        hasShareHolderList:
          type: boolean
        userInShareHolderList:
          type: boolean
        noShareHolderListEvidence:
          type: string
        useOfBusinessAccountApprovedByShareholders:
          type: boolean
        noOfLegalDirectors:
          type: number
        regulatoryIdsOfDirectors:
          type: array
          items:
            type: string
        depositTimeout:
          type: number
          example: 1200
        approvalTimeout:
          type: number
          example: 1200
        tradeHistoryDetails:
          $ref: '#/components/schemas/ProfileTradeDto'
    VerificationStatus:
      type: string
      description: user's verification status
      enum:
        - VERIFIED
        - UNVERIFIED
        - FAILED_VERIFICATION
        - REVIEW_REQUIRED
        - IN_PROGRESS
        - REJECTED
    ProfileTradeDto:
      type: object
      properties:
        hasPreviousTradeHistory:
          type: boolean
          description: Partner have previous trading experience
        proofOfTrade:
          type: array
          description: Partner's proof of previous trade history
          items:
            type: string
        referee:
          type: string
          description: Partner's referee
  securitySchemes:
    authToken:
      type: apiKey
      name: x-auth-token
      in: header

````