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

# Update

> Update an app resource's fields. Only the fields specified in the update mask are modified.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{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}/resource_types/{app_resource_type_id}/resources/{id}:
    post:
      tags:
        - App Resource
      summary: Update
      description: >-
        Update an app resource's fields. Only the fields specified in the update
        mask are modified.
      operationId: c1.api.app.v1.AppResourceService.Update
      parameters:
        - in: path
          name: app_id
          required: true
          schema:
            description: The app that this resource belongs to.
            type: string
        - in: path
          name: app_resource_type_id
          required: true
          schema:
            description: The resource type that this resource is.
            type: string
        - in: path
          name: id
          required: true
          schema:
            description: The id of the resource.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.app.v1.AppResourceServiceUpdateRequestInput
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.app.v1.AppResourceServiceUpdateResponse
          description: The response message for updating an app resource.
      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.AppResource.Update(ctx, operations.C1APIAppV1AppResourceServiceUpdateRequest{\n        AppID: \"<id>\",\n        AppResourceTypeID: \"<id>\",\n        ID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.AppResourceServiceUpdateResponse != 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.appResource.update({
                appId: "<id>",
                appResourceTypeId: "<id>",
                id: "<id>",
              });

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.app.v1.AppResourceServiceUpdateRequestInput:
      description: The request message for updating an app resource.
      properties:
        appResource:
          oneOf:
            - $ref: '#/components/schemas/c1.api.app.v1.AppResource'
            - type: 'null'
        expandMask:
          oneOf:
            - $ref: '#/components/schemas/c1.api.app.v1.AppResourceExpandMask'
            - type: 'null'
        updateMask:
          type:
            - string
            - 'null'
      title: App Resource Service Update Request
      type: object
      x-speakeasy-name-override: AppResourceServiceUpdateRequest
    c1.api.app.v1.AppResourceServiceUpdateResponse:
      description: The response message for updating an app resource.
      properties:
        appResourceView:
          oneOf:
            - $ref: '#/components/schemas/c1.api.app.v1.AppResourceView'
            - type: 'null'
        expanded:
          description: List of serialized related objects.
          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
            type: object
          type:
            - array
            - 'null'
      title: App Resource Service Update Response
      type: object
      x-speakeasy-name-override: AppResourceServiceUpdateResponse
    c1.api.app.v1.AppResource:
      description: >
        The app resource message is a single resource that can have
        entitlements.


        This message contains a oneof named metadata. Only a single field of the
        following list may be set at a time:
          - secretTrait
      properties:
        accessConfigId:
          description: |-
            The access config ID for this resource. May be empty.
             Must be one of the builtin access config IDs or empty.
          type: string
        agentTrait:
          oneOf:
            - $ref: '#/components/schemas/c1.api.app.v1.AgentTrait'
            - type: 'null'
        annotations:
          additionalProperties:
            type: string
          description: |-
            Bounded key/value metadata bag for IaC marking and customer tags.
             See .rfcs/object-annotations.md §2. Limits: ≤16 entries; keys 1–128
             chars matching ^[A-Za-z][A-Za-z0-9._/-]{0,127}$; values 0–256 chars
             URL-safe ASCII; total serialized ≤ 4096 bytes. Keys matching ^c1/
             are reserved.

             Well-known keys: `managed_by`, `iac_workspace`,
             `iac_resource_address`, `iac_tool_version`.

             Most AppResources are connector-synced; user-supplied annotations on
             a synced resource will be overwritten by the next sync. The
             annotations bag is most useful on user-created groups (the
             `conductorone_app_resource` TF resource).
          type: object
          x-speakeasy-terraform-plan-modifier:
            imports:
              - >-
                github.com/conductorone/terraform-provider-conductorone/internal/annotations
            schemaDefinition: annotations.PlanModifier()
        appId:
          description: The app that this resource belongs to.
          type: string
        appResourceTypeId:
          description: The resource type that this resource is.
          type: string
        createdAt:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        customDescription:
          description: A custom description that can be set for a resource.
          type: string
        deletedAt:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        description:
          description: The description set for the resource.
          type: string
        displayName:
          description: The display name for this resource.
          type: string
        externalId:
          description: >-
            The upstream product's native external ID for this resource (e.g. an
            Okta group ID).
             Populated from the connector's external ID during sync.
          readOnly: true
          type: string
        grantCount:
          description: The number of grants to this resource.
          format: int64
          type: string
        id:
          description: The id of the resource.
          type: string
        matchBatonId:
          description: The matchBatonId field.
          type: string
        nhiDetail:
          description: |-
            Axis-2 detail refining nhi_type (e.g. "aws.role.lambda"). Read-only;
             translated from the model.
          readOnly: true
          type: string
        nhiType:
          description: |-
            The NHI classification (K3 spine) for this resource. Populated for
             non-human-identity resources; UNSPECIFIED for everything else. Mirrors
             agent_trait: read-only and translated from the model enum at the API boundary.
          enum:
            - NHI_TYPE_UNSPECIFIED
            - NHI_TYPE_APP_REGISTRATION
            - NHI_TYPE_ASSUMABLE_ROLE
            - NHI_TYPE_MANAGED_IDENTITY
          readOnly: true
          type: string
          x-speakeasy-unknown-values: allow
        parentAppResourceId:
          description: >-
            The parent resource id, if this resource is a child of another
            resource.
          type: string
        parentAppResourceTypeId:
          description: >-
            The parent resource type id, if this resource is a child of another
            resource.
          type: string
        profile:
          additionalProperties: true
          readOnly: true
          type:
            - object
            - 'null'
        secretTrait:
          oneOf:
            - $ref: '#/components/schemas/c1.api.app.v1.SecretTrait'
            - type: 'null'
        updatedAt:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
      title: App Resource
      type: object
      x-speakeasy-entity: App Resource
      x-speakeasy-name-override: AppResource
    c1.api.app.v1.AppResourceExpandMask:
      description: >-
        The app resource expand mask lets you get information about related
        objects from the request.
      properties:
        paths:
          description: >-
            The app resource expanded fields. Maybe be any combination of "*",
            "app_id", "app_resource_type_id".
          items:
            type: string
          type:
            - array
            - 'null'
      title: App Resource Expand Mask
      type: object
      x-speakeasy-name-override: AppResourceExpandMask
    c1.api.app.v1.AppResourceView:
      description: >-
        The app resource view returns an app resource with paths for items in
        the expand mask filled in when this response is returned and a request
        expand mask has "*" or "app_id" or "resource_type_id".
      properties:
        appPath:
          description: >-
            JSONPATH expression indicating the location of the App object in the
            array
          type: string
        appResource:
          oneOf:
            - $ref: '#/components/schemas/c1.api.app.v1.AppResource'
            - type: 'null'
        objectPermissions:
          oneOf:
            - $ref: '#/components/schemas/c1.api.iam.v1.ActorObjectPermissions'
            - type: 'null'
        parentResourcePath:
          description: >-
            JSONPATH expression indicating the location of the Parent Resource
            object in the array
          type: string
        parentResourceTypePath:
          description: >-
            JSONPATH expression indicating the location of the Parent Resource
            Type object in the array
          type: string
        resourceTypePath:
          description: >-
            JSONPATH expression indicating the location of the Resource Type
            object in the array
          type: string
      title: App Resource View
      type: object
      x-speakeasy-name-override: AppResourceView
    c1.api.app.v1.AgentTrait:
      description: >-
        AgentTrait carries metadata for AI-agent resources surfaced in the
        Inventory.
      properties:
        identityAppUserId:
          description: >-
            The C1 app user ID of the service-account identity this agent
            authenticates as.
             Empty if the backing identity has not yet been resolved.
          type: string
        status:
          description: The agent's lifecycle status (READY, DISABLED, DELETED).
          enum:
            - AGENT_STATUS_UNSPECIFIED
            - AGENT_STATUS_READY
            - AGENT_STATUS_DISABLED
            - AGENT_STATUS_DELETED
          type: string
          x-speakeasy-unknown-values: allow
      title: Agent Trait
      type: object
      x-speakeasy-name-override: AgentTrait
    c1.api.app.v1.SecretTrait:
      description: The SecretTrait message.
      properties:
        createdByAppUserId:
          description: >-
            The AppUser id that created this credential. Read-only; resolved
            from
             the model during uplift. Distinct from identity_app_user_id (the
             holder) and from the resource's Owner (a separate assignment, not
             part of this message).
          type: string
        credentialDetail:
          description: >-
            Platform-specific credential subtype detail, finer than
            credential_type
             (e.g. "GCP service-account key"). Read-only; translated from the model.
          type: string
        identityAppUserId:
          description: The identityAppUserId field.
          type: string
        lastUsedAt:
          format: date-time
          type:
            - string
            - 'null'
        secretCreatedAt:
          format: date-time
          type:
            - string
            - 'null'
        secretExpiresAt:
          format: date-time
          type:
            - string
            - 'null'
      title: Secret Trait
      type: object
      x-speakeasy-name-override: SecretTrait
    c1.api.iam.v1.ActorObjectPermissions:
      description: |-
        Legacy: do not use for new objects. Retained only for the existing
         AppResource / AppEntitlement / access-review consumers, which will migrate to
         c1.api.authorization.v1.ActorObjectPermissions in IGA-2331. New object views
         should reference c1.api.authorization.v1.ActorObjectPermissions instead.
      properties:
        delete:
          description: The delete field.
          type: boolean
        edit:
          description: The edit field.
          type: boolean
        extra:
          additionalProperties:
            type: boolean
          description: The extra field.
          type: object
        read:
          description: The read field.
          type: boolean
      title: Actor Object Permissions
      type: object
      x-speakeasy-name-override: ActorObjectPermissions
  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

````