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

# UpdateNativeUserV2



## OpenAPI

````yaml /docs/api/openapi/resource_openapi.json post /core.v1.ResourceService/UpdateNativeUserV2
openapi: 3.1.0
info:
  title: core.v1.ResourceService
  version: 0.0.1
servers:
  - url: https://api.joinformal.com
    description: Production API
security: []
tags:
  - name: core.v1.ResourceService
paths:
  /core.v1.ResourceService/UpdateNativeUserV2:
    post:
      tags:
        - core.v1.ResourceService
      summary: UpdateNativeUserV2
      operationId: core.v1.ResourceService.UpdateNativeUserV2
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/core.v1.UpdateNativeUserV2Request'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/core.v1.UpdateNativeUserV2Response'
        '400':
          description: Bad Request - Invalid request parameters or body
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: invalid_request
                  message:
                    type: string
                    example: Invalid request parameters
                  details:
                    type: object
        '401':
          description: Unauthorized - Missing or invalid authentication
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: unauthorized
                  message:
                    type: string
                    example: Authentication required
        '403':
          description: Forbidden - Insufficient permissions
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: forbidden
                  message:
                    type: string
                    example: Insufficient permissions to perform this action
        '404':
          description: Not Found - Resource does not exist
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: not_found
                  message:
                    type: string
                    example: Resource not found
        '500':
          description: Internal Server Error - An error occurred processing the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: internal_error
                  message:
                    type: string
                    example: An internal error occurred
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: >-
            curl -X POST
            "https://api.joinformal.com/core.v1.ResourceService/UpdateNativeUserV2"
            \
              -H "X-API-KEY: YOUR_API_KEY" \
              -H "Content-Type: application/json" \
              -d '{
                "example": "value"
              }'
        - lang: javascript
          label: JavaScript (fetch)
          source: >-
            fetch("https://api.joinformal.com/core.v1.ResourceService/UpdateNativeUserV2",
            {
              method: "POST",
              headers: {
                "X-API-KEY": "YOUR_API_KEY",
                "Content-Type": "application/json"
              },
              body: JSON.stringify({
                example: "value"
              })
            })
              .then(response => response.json())
              .then(data => console.log(data))
              .catch(error => console.error(error));
        - lang: python
          label: Python
          source: >-
            import requests


            url =
            "https://api.joinformal.com/core.v1.ResourceService/UpdateNativeUserV2"

            headers = {
                "X-API-KEY": "YOUR_API_KEY",
                "Content-Type": "application/json"
            }

            data = {
                "example": "value"
            }


            response = requests.post(url, headers=headers, json=data)

            print(response.json())
        - lang: go
          label: Go
          source: |-
            package main

            import (
                "bytes"
                "encoding/json"
                "fmt"
                "io"
                "net/http"
            )

            func main() {
                url := "https://api.joinformal.com/core.v1.ResourceService/UpdateNativeUserV2"

                body := map[string]string{
                    "example": "value",
                }

                jsonData, _ := json.Marshal(body)

                req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
                req.Header.Set("X-API-KEY", "YOUR_API_KEY")
                req.Header.Set("Content-Type", "application/json")

                client := &http.Client{}
                resp, err := client.Do(req)
                if err != nil {
                    panic(err)
                }
                defer resp.Body.Close()

                responseBody, _ := io.ReadAll(resp.Body)
                fmt.Println(string(responseBody))
            }
components:
  schemas:
    core.v1.UpdateNativeUserV2Request:
      type: object
      properties:
        id:
          type: string
          title: id
          minLength: 1
        useAsDefault:
          type: boolean
          title: use_as_default
          nullable: true
        terminationProtection:
          type: boolean
          title: termination_protection
          nullable: true
        basic:
          $ref: '#/components/schemas/core.v1.BasicNativeUser'
          title: basic
          description: One of the discriminated union fields - use exactly one
        httpApiKey:
          $ref: '#/components/schemas/core.v1.HTTPAPIKeyNativeUser'
          title: http_api_key
          description: One of the discriminated union fields - use exactly one
        httpBasic:
          $ref: '#/components/schemas/core.v1.HTTPBasicNativeUser'
          title: http_basic
          description: One of the discriminated union fields - use exactly one
        httpBearer:
          $ref: '#/components/schemas/core.v1.HTTPBearerNativeUser'
          title: http_bearer
          description: One of the discriminated union fields - use exactly one
        iam:
          $ref: '#/components/schemas/core.v1.IAMNativeUser'
          title: iam
          description: One of the discriminated union fields - use exactly one
        kubernetes:
          $ref: '#/components/schemas/core.v1.KubernetesNativeUser'
          title: kubernetes
          description: One of the discriminated union fields - use exactly one
        snowflakeKey:
          $ref: '#/components/schemas/core.v1.SnowflakeKeyNativeUser'
          title: snowflake_key
          description: One of the discriminated union fields - use exactly one
        sshKey:
          $ref: '#/components/schemas/core.v1.SSHKeyNativeUser'
          title: ssh_key
          description: One of the discriminated union fields - use exactly one
      title: UpdateNativeUserV2Request
      additionalProperties: false
      description: >-
        Exactly one of these fields is required: basic or http_api_key or
        http_basic or http_bearer or iam or kubernetes or snowflake_key or
        ssh_key.
    core.v1.UpdateNativeUserV2Response:
      type: object
      properties:
        id:
          type: string
          title: id
          minLength: 1
      title: UpdateNativeUserV2Response
      additionalProperties: false
    core.v1.BasicNativeUser:
      type: object
      properties:
        username:
          type: string
          title: username
          minLength: 1
        usernameIsEnv:
          type: boolean
          title: username_is_env
        password:
          type: string
          title: password
          minLength: 1
        passwordIsEnv:
          type: boolean
          title: password_is_env
      title: BasicNativeUser
      additionalProperties: false
    core.v1.HTTPAPIKeyNativeUser:
      type: object
      properties:
        location:
          $ref: '#/components/schemas/core.v1.HTTPAPIKeyLocation'
          title: location
        key:
          type: string
          title: key
          minLength: 1
          description: The key is the name of the header or query parameter
        value:
          type: string
          title: value
          minLength: 1
          description: The value is the actual value of the API key
      title: HTTPAPIKeyNativeUser
      additionalProperties: false
    core.v1.HTTPBasicNativeUser:
      type: object
      properties:
        header:
          type: string
          title: header
          minLength: 1
        username:
          type: string
          title: username
          minLength: 1
        password:
          type: string
          title: password
          minLength: 1
      title: HTTPBasicNativeUser
      additionalProperties: false
    core.v1.HTTPBearerNativeUser:
      type: object
      properties:
        header:
          type: string
          title: header
          minLength: 1
        token:
          type: string
          title: token
          minLength: 1
      title: HTTPBearerNativeUser
      additionalProperties: false
    core.v1.IAMNativeUser:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/core.v1.IAMNativeUserType'
          title: type
        role:
          type: string
          title: role
          description: Can be unset if using role inherited from environment
          nullable: true
        username:
          type: string
          title: username
          minLength: 1
      title: IAMNativeUser
      additionalProperties: false
    core.v1.KubernetesNativeUser:
      type: object
      properties:
        kubeconfigEnv:
          type: string
          title: kubeconfig_env
          minLength: 1
          description: Environment variable containing a path to a kubeconfig file
      title: KubernetesNativeUser
      additionalProperties: false
    core.v1.SnowflakeKeyNativeUser:
      type: object
      properties:
        username:
          type: string
          title: username
          minLength: 1
        key:
          type: string
          title: key
          minLength: 1
      title: SnowflakeKeyNativeUser
      additionalProperties: false
    core.v1.SSHKeyNativeUser:
      type: object
      properties:
        username:
          type: string
          title: username
          minLength: 1
        key:
          type: string
          title: key
          minLength: 1
      title: SSHKeyNativeUser
      additionalProperties: false
    core.v1.HTTPAPIKeyLocation:
      type: string
      title: HTTPAPIKeyLocation
      enum:
        - HTTP_API_KEY_LOCATION_HEADER
        - HTTP_API_KEY_LOCATION_QUERY_PARAMETER
    core.v1.IAMNativeUserType:
      type: string
      title: IAMNativeUserType
      enum:
        - IAM_NATIVE_USER_TYPE_AWS
        - IAM_NATIVE_USER_TYPE_GCP
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: API key authentication. Get your API key from the Formal console.

````