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

# Search App Resources

> Search app resources based on filters specified in the request body.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/search/app_resources
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/search/app_resources:
    post:
      tags:
        - App Resource
      summary: Search App Resources
      description: Search app resources based on filters specified in the request body.
      operationId: c1.api.app.v1.AppResourceSearch.SearchAppResources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/c1.api.app.v1.SearchAppResourcesRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/c1.api.app.v1.SearchAppResourcesResponse'
          description: >-
            The SearchAppResourcesResponse message contains a list of results
            and a nextPageToken if applicable.
      x-codeSamples:
        - lang: go
          label: SearchAppResources
          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\"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.AppResourceSearch.SearchAppResources(ctx, nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.SearchAppResourcesResponse != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\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.appResourceSearch.searchAppResources();

              for await (const page of result) {
                console.log(page);
              }
            }


            run();
components:
  schemas:
    c1.api.app.v1.SearchAppResourcesRequest:
      description: Search app resources based on filters specified in the request body.
      properties:
        appId:
          description: The app ID to restrict the search to.
          readOnly: false
          type: string
        appUserIds:
          description: A list of app user IDs to restrict the search by.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        excludeDeletedResourceBindings:
          description: If true, exclude resources whose bindings have been deleted.
          readOnly: false
          type: boolean
        excludeResourceIds:
          description: A list of resource IDs to exclude from the search results.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        excludeResourceTypeTraitIds:
          description: A list of resource type trait IDs to exclude from the search.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        ownerUserIds:
          description: A list of C1 user IDs to filter resources by ownership.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        pageSize:
          description: The maximum number of results to return per page.
          format: int32
          readOnly: false
          type: integer
        pageToken:
          description: The token for fetching the next page of results.
          readOnly: false
          type: string
        query:
          description: Fuzzy search the display name of resources.
          readOnly: false
          type: string
        refs:
          description: >-
            A list of specific app resource references to restrict the search
            to.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppResourceRef'
          nullable: true
          readOnly: false
          type: array
        resourceIds:
          description: A list of resource IDs to restrict the search to.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        resourceTypeIds:
          description: A list of resource type IDs to restrict the search by.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
        resourceTypeTraitIds:
          description: A list of resource type trait IDs to restrict the search by.
          items:
            type: string
          nullable: true
          readOnly: false
          type: array
      title: Search App Resources Request
      type: object
      x-speakeasy-name-override: SearchAppResourcesRequest
    c1.api.app.v1.SearchAppResourcesResponse:
      description: >-
        The SearchAppResourcesResponse message contains a list of results and a
        nextPageToken if applicable.
      properties:
        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
        list:
          description: The list of app resource results.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppResourceView'
          nullable: true
          readOnly: false
          type: array
        nextPageToken:
          description: The token for fetching the next page of results.
          readOnly: false
          type: string
      title: Search App Resources Response
      type: object
      x-speakeasy-name-override: SearchAppResourcesResponse
    c1.api.app.v1.AppResourceRef:
      description: A reference to a specific app resource by its composite key.
      properties:
        appId:
          description: The ID of the app that owns the resource.
          readOnly: false
          type: string
        appResourceTypeId:
          description: The ID of the resource type that classifies this resource.
          readOnly: false
          type: string
        id:
          description: The unique ID of the app resource.
          readOnly: false
          type: string
      title: App Resource Ref
      type: object
      x-speakeasy-name-override: AppResourceRef
    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

````