> ## Documentation Index
> Fetch the complete documentation index at: https://docsv4.mile.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Read reports

> Returns the saved report configurations of your organization, newest first, paginated. A report configuration stores which source, hubs and columns a report uses; it does not contain report rows.

Requires permission `view/report`.



## OpenAPI

````yaml /openapi/public/openapi-analytics.json get /reports
openapi: 3.0.0
info:
  title: API - Analytics
  version: 3.0.0
  description: API Documentation - RESTful API for field operations management.
servers:
  - url: https://apiweb.mile.app/api/v3
security:
  - bearerAuth: []
tags:
  - name: Dashboard
    description: >-
      Dashboard lets a user compose their own dashboard from any number of
      cards, start from a template, duplicate a dashboard, share it with roles,
      and save it back as an organization template. Each card owns its own
      widget row (a chart type plus a query spec), cloned from the widget
      catalogue (built-in widgets plus the organization's custom widgets), so
      renaming or editing a card never touches the catalogue or another
      dashboard. Dashboards are owned by their creator: roles they are shared
      with can view, duplicate and save as template, but only the owner can edit
      or delete. Every write reuses the dashboard permission family (view, add,
      edit and delete dashboard).


      The numbers behind each card come from one generic aggregation endpoint
      instead of one endpoint per chart: the client sends a batch of up to 12
      declarative query specs, the server injects the caller's organization, hub
      and soft-delete scope from the session, runs each spec read-only, and
      returns a flat columns and rows table per item. The catalog endpoints
      describe the data sources, fields and limits a client may use.
  - name: Report
    description: >-
      A report is a saved table definition over tasks of one task type or
      records of one data type: which fields to show, which hubs to include, and
      the default filters.
  - name: Insight Report
    description: >-
      Insight reports are written summaries of your operations, generated from
      your task and data records: findings, a summary and suggested actions. You
      set the context once per task type, then generate reports on demand or on
      a schedule.
paths:
  /reports:
    get:
      tags:
        - Report
      summary: Read reports
      description: >-
        Returns the saved report configurations of your organization, newest
        first, paginated. A report configuration stores which source, hubs and
        columns a report uses; it does not contain report rows.


        Requires permission `view/report`.
      operationId: getReports
      parameters:
        - name: search
          in: query
          required: false
          description: >-
            Filters by report name (case-insensitive contains). Maximum 200
            characters.

            **Example:** `delivery`
          schema:
            type: string
        - name: timeFrom
          in: query
          required: false
          description: |-
            Only reports created at or after this date/time.
            **Example:** `2026-10-01`
          schema:
            type: string
            format: date-time
        - name: timeTo
          in: query
          required: false
          description: |-
            Only reports created at or before this date/time.
            **Example:** `2026-10-31T23:59:59Z`
          schema:
            type: string
            format: date-time
        - name: limit
          in: query
          required: false
          description: |-
            Number of reports per page. Minimum 1, maximum 100. Default 20.
            **Example:** `20`
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
        - $ref: '#/components/parameters/pageInQuery'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    description: Status of response.
                  message:
                    description: Message of API response.
                    type: string
                  data:
                    description: Paginated list of report configurations.
                    type: object
                    additionalProperties: true
                example:
                  status: true
                  code: 200
                  message: Success
                  data:
                    current_page: 1
                    data:
                      - _id: 66f1a2b3c4d5e6f7a8b9c0d1
                        organizationId: 64d99303be0ad015c461c932
                        name: Monthly delivery report
                        type: string
                        flowId: 64e5b1c2d3e4f5a6b7c8d9e0
                        fields:
                          - title
                          - assignee
                          - status
                          - doneTime
                        hubIds:
                          - 64d9932e2beb9037735ff022
                        defaultFilters:
                          datePreset: monthly
                          status:
                            - DONE
                          assignee: []
                        createdBy: admin@example.com
                        updatedBy: admin@example.com
                        updatedTime: '2026-10-01T03:15:20.000000Z'
                        createdTime: '2026-10-01T03:15:20.000000Z'
                      - _id: 66f1a2b3c4d5e6f7a8b9c0d2
                        organizationId: 64d99303be0ad015c461c932
                        name: Customer list
                        type: string
                        dataTypeId: 64f0a1b2c3d4e5f6a7b8c9d0
                        fields:
                          - name
                          - phone
                          - address
                        hubIds: []
                        createdBy: admin@example.com
                        updatedBy: admin@example.com
                        updatedTime: '2026-09-28T08:00:00.000000Z'
                        createdTime: '2026-09-28T08:00:00.000000Z'
                    first_page_url: https://apiweb.mile.app/api/v3/reports?page=1
                    from: 1
                    last_page: 1
                    last_page_url: https://apiweb.mile.app/api/v3/reports?page=1
                    links:
                      - url: null
                        label: '&laquo; Previous'
                        active: false
                      - url: https://apiweb.mile.app/api/v3/reports?page=1
                        label: '1'
                        active: true
                      - url: null
                        label: Next &raquo;
                        active: false
                    next_page_url: null
                    path: https://apiweb.mile.app/api/v3/reports
                    per_page: 20
                    prev_page_url: null
                    to: 2
                    total: 2
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    description: Shows if the request was successful.
                  message:
                    type: string
                    description: A short message explaining what went wrong.
                example:
                  status: false
                  message: Bad request - invalid parameters provided.
        '500':
          description: Server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    description: Shows if the request was successful.
                  message:
                    type: string
                    description: A short message explaining what went wrong.
                example:
                  status: false
                  message: Internal server error, please contact support@mile.app.
      deprecated: false
      security:
        - bearerAuth: []
components:
  parameters:
    pageInQuery:
      name: page
      in: query
      schema:
        default: 1
        type: integer
      description: The page number of results to retrieve. **Example:** `2`
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Use a valid Bearer token to authenticate.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.