> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-docs-terraform-v2-owner-resources.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Update

> Update edits a server's mode via update_mask.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/apps/{app_id}/authzen_servers/{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_id}/authzen_servers/{id}:
    post:
      tags:
        - AuthZEN Servers
      summary: Update
      description: Update edits a server's mode via update_mask.
      operationId: c1.api.authzen.v1.AuthzenServerService.Update
      parameters:
        - in: path
          name: app_id
          required: true
          schema:
            description: App identifier.
            type: string
        - in: path
          name: id
          required: true
          schema:
            description: The id field.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.authzen.v1.AuthzenServerServiceUpdateRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.authzen.v1.AuthzenServerServiceUpdateResponse
          description: AuthzenServerServiceUpdateResponse returns the updated server.
components:
  schemas:
    c1.api.authzen.v1.AuthzenServerServiceUpdateRequestInput:
      description: >-
        AuthzenServerServiceUpdateRequest updates a server via update_mask. The
        only
         editable path is mode.
      properties:
        authzenServer:
          oneOf:
            - $ref: '#/components/schemas/c1.api.authzen.v1.AuthzenServer'
            - type: 'null'
        updateMask:
          type:
            - string
            - 'null'
      title: Authzen Server Service Update Request
      type: object
      x-speakeasy-name-override: AuthzenServerServiceUpdateRequest
    c1.api.authzen.v1.AuthzenServerServiceUpdateResponse:
      description: AuthzenServerServiceUpdateResponse returns the updated server.
      properties:
        authzenServer:
          oneOf:
            - $ref: '#/components/schemas/c1.api.authzen.v1.AuthzenServer'
            - type: 'null'
      title: Authzen Server Service Update Response
      type: object
      x-speakeasy-name-override: AuthzenServerServiceUpdateResponse
    c1.api.authzen.v1.AuthzenServer:
      description: AuthzenServer is the customer-facing AuthZEN PDP endpoint for one App.
      properties:
        appId:
          description: App identifier.
          type: string
        createdAt:
          format: date-time
          type:
            - string
            - 'null'
        displayName:
          description: The displayName field.
          type: string
        evaluateEntitlementId:
          description: >-
            The minted "evaluate" entitlement (derived from the server id;
            returned
             for linking) -- grant it to a caller to let it POST the access
             evaluation endpoint.
          type: string
        id:
          description: The id field.
          type: string
        mode:
          description: |-
            The e-stop, now a tri-state. DISABLED (and UNSPECIFIED) denies every
             call without touching the entitlement stack or its grants; OBSERVE
             evaluates fully but answers allow, recording what ENFORCE would have
             said; ENFORCE answers the policy's decision.
          enum:
            - AUTHZEN_MODE_UNSPECIFIED
            - AUTHZEN_MODE_DISABLED
            - AUTHZEN_MODE_OBSERVE
            - AUTHZEN_MODE_ENFORCE
          type: string
          x-speakeasy-unknown-values: allow
        searchEntitlementId:
          description: >-
            The minted "search" entitlement (derived from the server id;
            returned
             for linking) -- grant it to a caller to let it POST the
             subject/resource/action search endpoints.
          type: string
        tokenAudience:
          description: >-
            The `audience` to send when exchanging a token for access to this
            server.
             Every AuthZEN deployment in the tenant shares it, so it names the service;
             `token_resource` names this server.
          type: string
        tokenResource:
          description: >-
            The `resource` to send alongside `token_audience`. It pins the
            exchange to
             this server, and the issued grant echoes it back, so send it exactly as
             given.
          type: string
        tokenScopes:
          description: >-
            The scopes this server can issue. An exchange receives the ones it
            requests
             that the caller also holds the matching capability entitlement for.
          items:
            type: string
          type:
            - array
            - 'null'
        updatedAt:
          format: date-time
          type:
            - string
            - 'null'
      title: Authzen Server
      type: object
      x-speakeasy-name-override: AuthzenServer
  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

````