> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-docs-mcp-bridge-private-server.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
            - '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
            - 'null'
        appResourceTypeId:
          description: The resource type that this resource is.
          type:
            - string
            - 'null'
        createdAt:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        customDescription:
          description: A custom description that can be set for a resource.
          type:
            - string
            - 'null'
        deletedAt:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        description:
          description: The description set for the resource.
          type:
            - string
            - 'null'
        displayName:
          description: The display name for this resource.
          type:
            - string
            - 'null'
        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
            - 'null'
        grantCount:
          description: The number of grants to this resource.
          format: int64
          type:
            - string
            - 'null'
        id:
          description: The id of the resource.
          type:
            - string
            - 'null'
        matchBatonId:
          description: The matchBatonId field.
          type:
            - string
            - 'null'
        parentAppResourceId:
          description: >-
            The parent resource id, if this resource is a child of another
            resource.
          type:
            - string
            - 'null'
        parentAppResourceTypeId:
          description: >-
            The parent resource type id, if this resource is a child of another
            resource.
          type:
            - string
            - 'null'
        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
            - 'null'
        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
            - 'null'
        parentResourceTypePath:
          description: >-
            JSONPATH expression indicating the location of the Parent Resource
            Type object in the array
          type:
            - string
            - 'null'
        resourceTypePath:
          description: >-
            JSONPATH expression indicating the location of the Resource Type
            object in the array
          type:
            - string
            - 'null'
      title: App Resource View
      type: object
      x-speakeasy-name-override: AppResourceView
    c1.api.app.v1.SecretTrait:
      description: The SecretTrait message.
      properties:
        identityAppUserId:
          description: The identityAppUserId field.
          type:
            - string
            - 'null'
        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: The ActorObjectPermissions message.
      properties:
        delete:
          description: The delete field.
          type:
            - boolean
            - 'null'
        edit:
          description: The edit field.
          type:
            - boolean
            - 'null'
        extra:
          additionalProperties:
            type: boolean
          description: The extra field.
          type: object
        read:
          description: The read field.
          type:
            - boolean
            - 'null'
      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

````