> ## 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.

# Get

> Retrieve a single app resource by its app, resource type, and resource ID.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /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}:
    get:
      tags:
        - App Resource
      summary: Get
      description: >-
        Retrieve a single app resource by its app, resource type, and resource
        ID.
      operationId: c1.api.app.v1.AppResourceService.Get
      parameters:
        - in: path
          name: app_id
          required: true
          schema:
            description: The ID of the app that owns the resource.
            readOnly: false
            type: string
        - in: path
          name: app_resource_type_id
          required: true
          schema:
            description: The ID of the resource type that classifies this resource.
            readOnly: false
            type: string
        - in: path
          name: id
          required: true
          schema:
            description: The unique ID of the app resource to retrieve.
            readOnly: false
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.app.v1.AppResourceServiceGetResponse
          description: >-
            The app resource service get response contains the app resource view
            and array of expanded items indicated by the request's expand mask.
      x-codeSamples:
        - lang: go
          label: Get
          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.Get(ctx, operations.C1APIAppV1AppResourceServiceGetRequest{\n        AppID: \"<id>\",\n        AppResourceTypeID: \"<id>\",\n        ID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.AppResourceServiceGetResponse != 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.get({
                appId: "<id>",
                appResourceTypeId: "<id>",
                id: "<id>",
              });

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.app.v1.AppResourceServiceGetResponse:
      description: >-
        The app resource service get response contains the app resource view and
        array of expanded items indicated by the request's expand mask.
      properties:
        appResourceView:
          $ref: '#/components/schemas/c1.api.app.v1.AppResourceView'
        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
            readOnly: false
            type: object
          nullable: true
          readOnly: false
          type: array
      title: App Resource Service Get Response
      type: object
      x-speakeasy-name-override: AppResourceServiceGetResponse
    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
          readOnly: false
          type: string
        appResource:
          $ref: '#/components/schemas/c1.api.app.v1.AppResource'
        objectPermissions:
          $ref: '#/components/schemas/c1.api.iam.v1.ActorObjectPermissions'
        parentResourcePath:
          description: >-
            JSONPATH expression indicating the location of the Parent Resource
            object in the array
          readOnly: false
          type: string
        parentResourceTypePath:
          description: >-
            JSONPATH expression indicating the location of the Parent Resource
            Type object in the array
          readOnly: false
          type: string
        resourceTypePath:
          description: >-
            JSONPATH expression indicating the location of the Resource Type
            object in the array
          readOnly: false
          type: string
      title: App Resource View
      type: object
      x-speakeasy-name-override: AppResourceView
    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.
          readOnly: false
          type: string
        appId:
          description: The app that this resource belongs to.
          readOnly: false
          type: string
        appResourceTypeId:
          description: The resource type that this resource is.
          readOnly: false
          type: string
        createdAt:
          format: date-time
          readOnly: true
          type: string
        customDescription:
          description: A custom description that can be set for a resource.
          readOnly: false
          type: string
        deletedAt:
          format: date-time
          readOnly: true
          type: string
        description:
          description: The description set for the resource.
          readOnly: false
          type: string
        displayName:
          description: The display name for this resource.
          readOnly: false
          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
          readOnly: false
          type: string
        id:
          description: The id of the resource.
          readOnly: false
          type: string
        matchBatonId:
          description: The matchBatonId field.
          readOnly: false
          type: string
        parentAppResourceId:
          description: >-
            The parent resource id, if this resource is a child of another
            resource.
          readOnly: false
          type: string
        parentAppResourceTypeId:
          description: >-
            The parent resource type id, if this resource is a child of another
            resource.
          readOnly: false
          type: string
        profile:
          additionalProperties: true
          readOnly: true
          type: object
        secretTrait:
          $ref: '#/components/schemas/c1.api.app.v1.SecretTrait'
        updatedAt:
          format: date-time
          readOnly: true
          type: string
      title: App Resource
      type: object
      x-speakeasy-entity: App Resource
      x-speakeasy-name-override: AppResource
    c1.api.iam.v1.ActorObjectPermissions:
      description: The ActorObjectPermissions message.
      properties:
        delete:
          description: The delete field.
          readOnly: false
          type: boolean
        edit:
          description: The edit field.
          readOnly: false
          type: boolean
        extra:
          additionalProperties:
            type: boolean
          description: The extra field.
          readOnly: false
          type: object
        read:
          description: The read field.
          readOnly: false
          type: boolean
      title: Actor Object Permissions
      type: object
      x-speakeasy-name-override: ActorObjectPermissions
    c1.api.app.v1.SecretTrait:
      description: The SecretTrait message.
      nullable: true
      properties:
        identityAppUserId:
          description: The identityAppUserId field.
          readOnly: false
          type: string
        lastUsedAt:
          format: date-time
          readOnly: false
          type: string
        secretCreatedAt:
          format: date-time
          readOnly: false
          type: string
        secretExpiresAt:
          format: date-time
          readOnly: false
          type: string
      title: Secret Trait
      type: object
      x-speakeasy-name-override: SecretTrait
  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

````