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

# List

> Get a list of reports for the given app.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples get /api/v1/apps/{app_id}/report
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}/report:
    get:
      tags:
        - App Reports
      summary: List
      description: Get a list of reports for the given app.
      operationId: c1.api.app.v1.AppReportService.List
      parameters:
        - in: path
          name: app_id
          required: true
          schema:
            description: The appId field.
            readOnly: false
            type: string
        - in: query
          name: page_size
          schema:
            description: The pageSize field.
            format: int32
            readOnly: false
            type: integer
        - in: query
          name: page_token
          schema:
            description: The pageToken field.
            readOnly: false
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.app.v1.AppReportServiceListResponse
          description: >-
            The AppReportServiceListResponse message contains a list of results
            and a nextPageToken if applicable.
      x-codeSamples:
        - lang: go
          label: List
          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.AppReport.List(ctx, operations.C1APIAppV1AppReportServiceListRequest{\n        AppID: \"<id>\",\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.AppReportServiceListResponse != 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.appReport.list({
                appId: "<id>",
              });

              console.log(result);
            }


            run();
components:
  schemas:
    c1.api.app.v1.AppReportServiceListResponse:
      description: >-
        The AppReportServiceListResponse message contains a list of results and
        a nextPageToken if applicable.
      properties:
        list:
          description: >-
            The list of results containing up to X results, where X is the page
            size defined in the request.
          items:
            $ref: '#/components/schemas/c1.api.app.v1.AppPopulationReport'
          nullable: true
          readOnly: false
          type: array
        nextPageToken:
          description: >-
            The nextPageToken is shown for the next page if the number of
            results is larger than the max page size.
             The server returns one page of results and the nextPageToken until all results are retreived.
             To retrieve the next page, use the same request and append a pageToken field with the value of nextPageToken shown on the previous page.
          readOnly: false
          type: string
      title: App Report Service List Response
      type: object
      x-speakeasy-name-override: AppReportServiceListResponse
    c1.api.app.v1.AppPopulationReport:
      description: >-
        The AppPopulationReport is a generated report for a specific app that
        gives details about the app's users. These details include what groups,
        roles, and other entitlements the users have access to.
      properties:
        appId:
          description: The appId is the Id of the app which the report is generated for.
          readOnly: false
          type: string
        createdAt:
          format: date-time
          readOnly: true
          type: string
        downloadUrl:
          description: >-
            The downloadUrl is the url used for downloading the
            AppPopulationReport.
          readOnly: false
          type: string
        hashes:
          additionalProperties:
            type: string
          description: The hashes field contains the file hashes of the report.
          readOnly: false
          type: object
        id:
          description: The id field.
          readOnly: false
          type: string
        state:
          description: >-
            The state field tracks the state of the AppPopulationReport. This
            state field can be one of REPORT_STATE_PENDING,
            REPORT_STATE_UNSPECIFIED, REPORT_STATE_OK, REPORT_STATE_ERROR.
          enum:
            - REPORT_STATE_UNSPECIFIED
            - REPORT_STATE_PENDING
            - REPORT_STATE_OK
            - REPORT_STATE_ERROR
          readOnly: false
          type: string
          x-speakeasy-unknown-values: allow
      title: App Population Report
      type: object
      x-speakeasy-name-override: AppPopulationReport
  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

````