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

# Update user

> Update a user under the selected mobility provider with the specified UUID (only v1 to v4 are supported)



## OpenAPI

````yaml /api-reference/m2m-api.yml put /api/admin/v1/{mobilityProviderCountryCode}/{mobilityProviderCode}/users/{customerId}
openapi: 3.0.3
info:
  title: M2M API
  version: '@version@'
servers:
  - url: https://api.smartmove.eu/m2m
security: []
tags:
  - name: Vehicles
  - name: Maintenance
  - name: Logbook
  - name: Drivers
  - name: Users
  - name: Checklist
  - name: Incidents
  - name: Databox
  - name: Assets
  - name: Asset Provider
  - name: Invoices
paths:
  /api/admin/v1/{mobilityProviderCountryCode}/{mobilityProviderCode}/users/{customerId}:
    put:
      tags:
        - Users
      summary: Update user
      description: >-
        Update a user under the selected mobility provider with the specified
        UUID (only v1 to v4 are supported)
      operationId: updateUser
      parameters:
        - in: path
          name: mobilityProviderCountryCode
          schema:
            type: string
            minLength: 2
            maxLength: 2
          required: true
          example: AT
          description: >-
            The two-letter country code of the mobility provider the user is
            registered under
        - in: path
          name: mobilityProviderCode
          schema:
            type: string
            minLength: 3
            maxLength: 3
          required: true
          example: ABC
          description: >-
            The three-character code of the mobility provider the user is
            registered under
        - in: path
          name: customerId
          schema:
            type: string
            format: uuid
          required: true
          description: >-
            The user id in UUID format (only the versions 1, 2, 3 and 4 are
            currently supported)
          example: 828c2d1c-d933-4138-9577-02c292b6d869
      requestBody:
        required: true
        description: >-
          The request body contains the user information that should be replace
          the other one under the specified UUID
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomerRequest'
      responses:
        '200':
          description: The updated user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerResponse'
        '401':
          description: Required and valid bearer token was not included
        '403':
          description: Access to the requested asset provider has been rejected
        '404':
          description: Could not find the user
      security:
        - oauth:
            - openid
components:
  schemas:
    UpdateCustomerRequest:
      type: object
      required:
        - firstName
        - lastName
        - dateOfBirth
        - language
        - phone
        - email
        - contactAddress
        - billingAddress
        - customerType
        - productCode
      properties:
        firstName:
          type: string
          description: Customer first name
        lastName:
          type: string
          description: Customer last name
        dateOfBirth:
          type: string
          format: date
          description: Customer date of birth
          example: '2025-10-17T00:00:00.000Z'
        language:
          $ref: '#/components/schemas/Language'
        emailVerified:
          type: boolean
        phone:
          type: string
          description: Customer phone number
        contactAddress:
          $ref: '#/components/schemas/ContactAddress'
        billingAddress:
          $ref: '#/components/schemas/BillingAddress'
        customerType:
          $ref: '#/components/schemas/CustomerType'
        status:
          $ref: '#/components/schemas/CustomerStatus'
        productCode:
          type: string
          description: Key/Id of chosen mobility product
        drivinglicenseIssuingAuthority:
          type: string
          description: drivinglicenseIssuingAuthority
        drivinglicenseIssuingDate:
          type: string
          format: date
          description: drivinglicenseIssuingDate
          example: '2025-10-17T00:00:00.000Z'
        drivinglicenseNumber:
          type: string
          description: drivinglicenseNumber
        identificationIssuingAuthority:
          type: string
          description: identificationIssuingAuthority
        identificationIssuingDate:
          type: string
          format: date
          description: identificationIssuingDate
          example: '2025-10-17T00:00:00.000Z'
        identificationNumber:
          type: string
          description: identificationNumber
        identificationType:
          type: string
          description: identificationType
        customerAccounts:
          type: object
          properties:
            privateAccount:
              type: object
              required:
                - defaultPaymentAccountId
              properties:
                defaultPaymentAccountId:
                  type: number
                  description: >-
                    ID of the private payment account that should be the new
                    default
            businessAccount:
              type: object
              required:
                - paymentMadeBy
              properties:
                costCenter:
                  type: string
                  description: Cost center
                paymentMadeBy:
                  type: string
                  description: Payment made by
    CustomerResponse:
      type: object
      required:
        - id
        - language
        - customerType
        - emailVerified
      properties:
        id:
          type: string
          description: Customer id
        firstName:
          type: string
          description: Customer first name
        lastName:
          type: string
          description: Customer last name
        dateOfBirth:
          type: string
          format: date
          description: Customer date of birth
          example: '2025-10-17T00:00:00.000Z'
        language:
          $ref: '#/components/schemas/Language'
        phone:
          type: string
          description: Customer phone number
        email:
          type: string
          description: Customer email address
        emailVerified:
          type: boolean
          description: Is customer email verified
        productCode:
          type: string
          description: Code of chosen mobility product
        productSubscriptionStart:
          type: string
          description: Subscription start date of chosen mobility product
        productSubscriptionEnd:
          type: string
          description: Subscription end date of chosen mobility product
        status:
          $ref: '#/components/schemas/CustomerStatus'
        contactAddress:
          $ref: '#/components/schemas/ContactAddressResponse'
        billingAddress:
          $ref: '#/components/schemas/BillingAddressResponse'
        driversLicense:
          type: object
          properties:
            licenseType:
              type: string
              description: Type of the license document
            issuingAuthority:
              type: string
              description: Name of the issuing authority for the license document
            licenseNumber:
              type: string
              description: License document number
            issueDate:
              type: string
              format: date
              description: Date the license document was issued
              example: '2025-10-17T00:00:00.000Z'
            blobs:
              $ref: '#/components/schemas/BlobsWithFilename'
        identificationDocument:
          type: object
          properties:
            documentType:
              type: string
              description: Type of the identification document
            issuingAuthority:
              type: string
              description: Name of the issuing authority for the identification document
            documentNumber:
              type: string
              description: Identification document number
            issueDate:
              type: string
              format: date
              description: Date the identification document was issued
              example: '2025-10-17T00:00:00.000Z'
            blobs:
              $ref: '#/components/schemas/BlobsWithFilename'
        customerType:
          $ref: '#/components/schemas/CustomerType'
    Language:
      type: string
      enum:
        - de
        - en
    ContactAddress:
      type: object
      required:
        - address
        - city
        - zipCode
        - countryCode
      properties:
        address:
          type: string
          description: Street, house number, door number
        city:
          type: string
          description: City
        zipCode:
          type: string
          description: Zip Code
        federalState:
          type: string
          description: Federal State
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 country code for DACHL region
          enum:
            - DE
            - AT
            - CH
            - LI
    BillingAddress:
      allOf:
        - $ref: '#/components/schemas/ContactAddress'
        - type: object
          properties:
            company:
              type: string
              description: Company name
            vatNumber:
              type: string
              description: VAT/UID Number
    CustomerType:
      type: string
      enum:
        - Private
        - Company
    CustomerStatus:
      type: string
      enum:
        - New
        - Incomplete
        - Pending
        - Active
        - Blocked
        - Inactive
    ContactAddressResponse:
      type: object
      properties:
        address:
          type: string
        city:
          type: string
        zipCode:
          type: string
        federalState:
          type: string
        countryCode:
          type: string
          enum:
            - DE
            - AT
            - CH
            - LI
    BillingAddressResponse:
      allOf:
        - $ref: '#/components/schemas/ContactAddressResponse'
        - type: object
          properties:
            company:
              type: string
              description: Company name
            vatNumber:
              type: string
              description: VAT/UID Number
    BlobsWithFilename:
      type: array
      items:
        $ref: '#/components/schemas/BlobWithFilename'
    BlobWithFilename:
      type: object
      required:
        - uuid
      properties:
        uuid:
          type: string
          format: uuid
        contentType:
          $ref: '#/components/schemas/FileType'
        filename:
          type: string
    FileType:
      type: string
      enum:
        - image/jpeg
        - image/png
        - application/pdf
  securitySchemes:
    oauth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: >-
            https://api.smartmove.eu/auth/realms/countryCode-providerCode/protocol/openid-connect/token
          scopes:
            all: openid
        authorizationCode:
          authorizationUrl: >-
            https://api.smartmove.eu/auth/realms/countryCode-providerCode/protocol/openid-connect/auth
          tokenUrl: >-
            https://api.smartmove.eu/auth/realms/countryCode-providerCode/protocol/openid-connect/token
          scopes:
            all: openid

````