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

# Update

> Update an app user by ID. Only the fields specified in the update mask are updated.
 Currently, only the appUserType, and identityUserId fields can be updated.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/apps/{app_user_app_id}/app_users/{app_user_id}
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/apps/{app_user_app_id}/app_users/{app_user_id}:
    post:
      tags:
        - AppUsers
      summary: Update
      description: >-
        Update an app user by ID. Only the fields specified in the update mask
        are updated.
         Currently, only the appUserType, and identityUserId fields can be updated.
      operationId: c1.api.app.v1.AppUserService.Update
      parameters:
        - in: path
          name: app_user_app_id
          required: true
          schema:
            description: The ID of the application.
            readOnly: true
            type: string
        - in: path
          name: app_user_id
          required: true
          schema:
            description: A unique idenditfier of the application user.
            readOnly: true
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.app.v1.AppUserServiceUpdateRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.app.v1.AppUserServiceUpdateResponse
          description: Successful response
      x-codeSamples:
        - lang: go
          label: Update
          source: "package main\n\nimport(\n\t\"context\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/shared\"\n\tconductoronesdkgo \"github.com/conductorone/conductorone-sdk-go\"\n\t\"github.com/conductorone/conductorone-sdk-go/pkg/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := conductoronesdkgo.New(\n        conductoronesdkgo.WithSecurity(shared.Security{\n            BearerAuth: \"<YOUR_BEARER_TOKEN_HERE>\",\n            Oauth: \"<YOUR_OAUTH_HERE>\",\n        }),\n    )\n\n    res, err := s.AppUser.Update(ctx, operations.C1APIAppV1AppUserServiceUpdateRequest{\n        AppUserAppID: \"<id>\",\n        AppUserID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.AppUserServiceUpdateResponse != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: >-
            import { ConductoroneSDKTypescript } from
            "conductorone-sdk-typescript";


            const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
              security: {
                bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
                oauth: "<YOUR_OAUTH_HERE>",
              },
            });


            async function run() {
              const result = await conductoroneSDKTypescript.appUser.update({
                appUserAppId: "<id>",
                appUserId: null,
              });

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.app.v1.AppUserServiceUpdateRequestInput:
      description: >-
        The AppUserServiceUpdateRequest message contains the app user and the
        fields to be updated.
      properties:
        appUser:
          $ref: '#/components/schemas/c1.api.app.v1.AppUser'
        expandMask:
          $ref: '#/components/schemas/c1.api.app.v1.AppUserExpandMask'
        updateMask:
          nullable: true
          readOnly: false
          type: string
      title: App User Service Update Request
      type: object
      x-speakeasy-name-override: AppUserServiceUpdateRequest
    c1.api.app.v1.AppUserServiceUpdateResponse:
      description: The AppUserServiceUpdateResponse message.
      properties:
        appUserView:
          $ref: '#/components/schemas/c1.api.app.v1.AppUserView'
        expanded:
          description: The expanded field.
          items:
            additionalProperties: true
            description: >-
              Contains an arbitrary serialized message along with a @type that
              describes the type of the serialized message.
            properties:
              '@type':
                description: The type of the serialized message.
                type: string
            readOnly: false
            type: object
          nullable: true
          readOnly: false
          type: array
      title: App User Service Update Response
      type: object
      x-speakeasy-name-override: AppUserServiceUpdateResponse
    c1.api.app.v1.AppUser:
      description: Application User that represents an account in the application.
      properties:
        appId:
          description: The ID of the application.
          readOnly: true
          type: string
        appUserType:
          description: The appplication user type. Type can be user, system or service.
          enum:
            - APP_USER_TYPE_UNSPECIFIED
            - APP_USER_TYPE_USER
            - APP_USER_TYPE_SERVICE_ACCOUNT
            - APP_USER_TYPE_SYSTEM_ACCOUNT
          readOnly: false
          type: string
          x-speakeasy-unknown-values: allow
        createdAt:
          format: date-time
          readOnly: true
          type: string
        deletedAt:
          format: date-time
          readOnly: true
          type: string
        displayName:
          description: The display name of the application user.
          readOnly: true
          type: string
        email:
          description: The email field of the application user.
          readOnly: true
          type: string
        emails:
          description: The emails field of the application user.
          items:
            type: string
          nullable: true
          readOnly: true
          type: array
        employeeIds:
          description: The employee IDs field of the application user.
          items:
            type: string
          nullable: true
          readOnly: true
          type: array
        id:
          description: A unique idenditfier of the application user.
          readOnly: true
          type: string
        identityUserId:
          description: The conductor one user ID of the account owner.
          readOnly: true
          type: string
        isExternal:
          description: The isExternal field.
          readOnly: true
          type: boolean
        profile:
          additionalProperties: true
          readOnly: true
          type: object
        status:
          $ref: '#/components/schemas/c1.api.app.v1.AppUserStatus'
        updatedAt:
          format: date-time
          readOnly: true
          type: string
        username:
          description: The username field of the application user.
          readOnly: true
          type: string
        usernames:
          description: The usernames field of the application user.
          items:
            type: string
          nullable: true
          readOnly: true
          type: array
      title: App User
      type: object
      x-speakeasy-name-override: AppUser
    c1.api.app.v1.AppUserExpandMask:
      description: >-
        The AppUserExpandMask message contains a list of paths to expand in the
        response.
      properties:
        paths:
          description: >-
            The paths to expand in the response. May be any combination of "*",
            "identity_user_id", "app_id", and "last_usage".
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
      title: App User Expand Mask
      type: object
      x-speakeasy-name-override: AppUserExpandMask
    c1.api.app.v1.AppUserView:
      description: >-
        The AppUserView contains an app user as well as paths for apps, identity
        users, and last usage in expanded arrays.
      properties:
        appPath:
          description: >-
            JSONPATH expression indicating where the app is expanded in expanded
            arrays indicated in the request.
          readOnly: false
          type: string
        appUser:
          $ref: '#/components/schemas/c1.api.app.v1.AppUser'
        identityUserPath:
          description: >-
            JSONPATH expression indicating where the identity user is expanded
            in expanded arrays indicated in the request.
          readOnly: false
          type: string
        lastUsagePath:
          description: >-
            JSONPATH expression indicating where the last usage information is
            expanded in expanded arrays indicated in the request.
          readOnly: false
          type: string
      title: App User View
      type: object
      x-speakeasy-name-override: AppUserView
    c1.api.app.v1.AppUserStatus:
      description: The satus of the applicaiton user.
      properties:
        details:
          description: The details of applicaiton user status.
          readOnly: true
          type: string
        status:
          description: The application user status field.
          enum:
            - STATUS_UNSPECIFIED
            - STATUS_ENABLED
            - STATUS_DISABLED
            - STATUS_DELETED
          readOnly: true
          type: string
          x-speakeasy-unknown-values: allow
      title: App User Status
      type: object
      x-speakeasy-name-override: AppUserStatus
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        This API uses OAuth2 with the Client Credential flow.

        Client Credentials must be sent in the BODY, not the headers.

        For an example of how to implement this, refer to the
        [c1TokenSource.Token()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````