---
title: "Get booking reports"
method: GET
path: "/api/v2/reports/booking_reports"
tags: ["Reports"]
---

# Get booking reports

`GET /api/v2/reports/booking_reports`

Retrieve aggregated booking report data grouped by configurable dimensions.

## Query parameters

- `group` 'absence_type' | 'approval_status' | 'approved_at' | 'autotracking' | 'billing_type' | 'booking' | 'budget' | 'canceled_at' | 'company' | 'created_at' | 'custom_fields' | 'date' | 'draft' | 'event' | 'organization' | 'people_custom_fields' | 'person' | 'project' | 'project_type' | 'rejected_at' | 'responsible' | 'service' | 'service_type' | 'stage_type' | 'task'
- `filter` union — Filter schema for `booking_report` list endpoints — pass a single condition or a logical group.
  - FilterBookingReport — Available filter parameters for querying aggregated booking report data.
    - `service_id` union — Filter booking report results by service id.
      - object — Filter operator object for service id.
        - `not_eq` ServiceId — unresolved $ref
        - `not_contain` ServiceId — unresolved $ref
        - `eq` ServiceId — unresolved $ref
        - `contains` ServiceId — unresolved $ref
      - ServiceId — unresolved $ref
    - `approval_status` union — Filter by booking approval status (approved or unapproved).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` ApprovalStatus — unresolved $ref
        - `not_contain` ApprovalStatus — unresolved $ref
        - `not_eq` ApprovalStatus — unresolved $ref
        - `contains` ApprovalStatus — unresolved $ref
      - ApprovalStatus — unresolved $ref
    - `booking_type` union — Filter by booking type (budget/deal or absence).
      - BookingType — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` BookingType — unresolved $ref
        - `not_contain` BookingType — unresolved $ref
        - `eq` BookingType — unresolved $ref
        - `contains` BookingType — unresolved $ref
    - `ended_on` union — Filter booking report results by ended on.
      - object — Filter operator object for ended on.
        - `eq` EndedOn — unresolved $ref
        - `not_eq` EndedOn — unresolved $ref
        - `contains` EndedOn — unresolved $ref
        - `not_contain` EndedOn — unresolved $ref
      - EndedOn — unresolved $ref
    - `tags` union — Filter by tag.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` Tags — unresolved $ref
        - `eq` Tags — unresolved $ref
        - `not_eq` Tags — unresolved $ref
        - `not_contain` Tags — unresolved $ref
      - Tags — unresolved $ref
    - `started_on_before` union — Filter booking report results by started on before.
      - StartedOnBefore — unresolved $ref
      - object — Filter operator object for started on before.
        - `contains` StartedOnBefore — unresolved $ref
        - `eq` StartedOnBefore — unresolved $ref
        - `not_contain` StartedOnBefore — unresolved $ref
        - `not_eq` StartedOnBefore — unresolved $ref
    - `time` union — Filter booking report results by time.
      - object — Filter operator object for time.
        - `eq` Time — unresolved $ref
        - `not_eq` Time — unresolved $ref
        - `contains` Time — unresolved $ref
        - `not_contain` Time — unresolved $ref
      - Time — unresolved $ref
    - `ended_on_after` union — Filter booking report results by ended on after.
      - object — Filter operator object for ended on after.
        - `eq` EndedOnAfter — unresolved $ref
        - `not_contain` EndedOnAfter — unresolved $ref
        - `not_eq` EndedOnAfter — unresolved $ref
        - `contains` EndedOnAfter — unresolved $ref
      - EndedOnAfter — unresolved $ref
    - `stage_type` union — Filter booking report results by stage type.
      - StageType — unresolved $ref
      - object — Filter operator object for stage type.
        - `not_eq` StageType — unresolved $ref
        - `not_contain` StageType — unresolved $ref
        - `contains` StageType — unresolved $ref
        - `eq` StageType — unresolved $ref
    - `started_on_after` union — Filter booking report results by started on after.
      - object — Filter operator object for started on after.
        - `not_contain` StartedOnAfter — unresolved $ref
        - `contains` StartedOnAfter — unresolved $ref
        - `eq` StartedOnAfter — unresolved $ref
        - `not_eq` StartedOnAfter — unresolved $ref
      - StartedOnAfter — unresolved $ref
    - `approver_id` union — Filter by the person who approved the booking.
      - ApproverId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` ApproverId — unresolved $ref
        - `eq` ApproverId — unresolved $ref
        - `not_eq` ApproverId — unresolved $ref
        - `contains` ApproverId — unresolved $ref
    - `project_type` union — Filter booking report results by project type.
      - ProjectType — unresolved $ref
      - object — Filter operator object for project type.
        - `not_contain` ProjectType — unresolved $ref
        - `not_eq` ProjectType — unresolved $ref
        - `contains` ProjectType — unresolved $ref
        - `eq` ProjectType — unresolved $ref
    - `project_id` union — Filter booking report results by project id.
      - object — Filter operator object for project id.
        - `not_contain` ProjectId — unresolved $ref
        - `not_eq` ProjectId — unresolved $ref
        - `contains` ProjectId — unresolved $ref
        - `eq` ProjectId — unresolved $ref
      - ProjectId — unresolved $ref
    - `after` union — Filter by bookings starting after this date (inclusive). Shorthand for a date range start.
      - After — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` After — unresolved $ref
        - `contains` After — unresolved $ref
        - `not_eq` After — unresolved $ref
        - `not_contain` After — unresolved $ref
    - `service_type_id` union — Filter booking report results by service type id.
      - ServiceTypeId — unresolved $ref
      - object — Filter operator object for service type id.
        - `not_contain` ServiceTypeId — unresolved $ref
        - `not_eq` ServiceTypeId — unresolved $ref
        - `contains` ServiceTypeId — unresolved $ref
        - `eq` ServiceTypeId — unresolved $ref
    - `rejected_at` union — Filter booking report results by rejected at.
      - object — Filter operator object for rejected at.
        - `not_eq` RejectedAt — unresolved $ref
        - `contains` RejectedAt — unresolved $ref
        - `eq` RejectedAt — unresolved $ref
        - `not_contain` RejectedAt — unresolved $ref
      - RejectedAt — unresolved $ref
    - `people_custom_fields` union — Filter booking report results by people custom fields.
      - object — Filter operator object for people custom fields.
        - `not_eq` PeopleCustomFields — unresolved $ref
        - `not_contain` PeopleCustomFields — unresolved $ref
        - `contains` PeopleCustomFields — unresolved $ref
        - `eq` PeopleCustomFields — unresolved $ref
      - PeopleCustomFields — unresolved $ref
    - `approved_at` union — Filter by approval date range (approved_at).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` ApprovedAt — unresolved $ref
        - `contains` ApprovedAt — unresolved $ref
        - `not_contain` ApprovedAt — unresolved $ref
        - `eq` ApprovedAt — unresolved $ref
      - ApprovedAt — unresolved $ref
    - `started_on` union — Filter booking report results by started on.
      - StartedOn — unresolved $ref
      - object — Filter operator object for started on.
        - `not_contain` StartedOn — unresolved $ref
        - `contains` StartedOn — unresolved $ref
        - `not_eq` StartedOn — unresolved $ref
        - `eq` StartedOn — unresolved $ref
    - `parent_company_id` union — Filter by the parent company of the booking's company.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` ParentCompanyId — unresolved $ref
        - `contains` ParentCompanyId — unresolved $ref
        - `eq` ParentCompanyId — unresolved $ref
        - `not_contain` ParentCompanyId — unresolved $ref
      - ParentCompanyId — unresolved $ref
    - `before` union — Filter booking report results by before.
      - object — Filter operator object for before.
        - `not_eq` Before — unresolved $ref
        - `eq` Before — unresolved $ref
        - `not_contain` Before — unresolved $ref
        - `contains` Before — unresolved $ref
      - Before — unresolved $ref
    - `created_at` union — Filter by booking creation date range (created_at).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` CreatedAt — unresolved $ref
        - `not_eq` CreatedAt — unresolved $ref
        - `not_contain` CreatedAt — unresolved $ref
        - `eq` CreatedAt — unresolved $ref
      - CreatedAt — unresolved $ref
    - `date_before` union — Filter to include only booking items on or before this date.
      - DateBefore — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` DateBefore — unresolved $ref
        - `not_eq` DateBefore — unresolved $ref
        - `eq` DateBefore — unresolved $ref
        - `not_contain` DateBefore — unresolved $ref
    - `task_id` union — Filter booking report results by task id.
      - object — Filter operator object for task id.
        - `not_contain` TaskId — unresolved $ref
        - `contains` TaskId — unresolved $ref
        - `eq` TaskId — unresolved $ref
        - `not_eq` TaskId — unresolved $ref
      - TaskId — unresolved $ref
    - `custom_fields` union — Filter by custom field values.
      - CustomFields — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` CustomFields — unresolved $ref
        - `not_contain` CustomFields — unresolved $ref
        - `eq` CustomFields — unresolved $ref
        - `contains` CustomFields — unresolved $ref
    - `with_draft` union — Filter booking report results by with draft.
      - WithDraft — unresolved $ref
      - object — Filter operator object for with draft.
        - `not_eq` WithDraft — unresolved $ref
        - `contains` WithDraft — unresolved $ref
        - `eq` WithDraft — unresolved $ref
        - `not_contain` WithDraft — unresolved $ref
    - `ended_on_before` union — Filter booking report results by ended on before.
      - EndedOnBefore — unresolved $ref
      - object — Filter operator object for ended on before.
        - `eq` EndedOnBefore — unresolved $ref
        - `contains` EndedOnBefore — unresolved $ref
        - `not_eq` EndedOnBefore — unresolved $ref
        - `not_contain` EndedOnBefore — unresolved $ref
    - `autotracking` union — Filter booking report results by autotracking.
      - object — Filter operator object for autotracking.
        - `contains` Autotracking — unresolved $ref
        - `not_contain` Autotracking — unresolved $ref
        - `not_eq` Autotracking — unresolved $ref
        - `eq` Autotracking — unresolved $ref
      - Autotracking — unresolved $ref
    - `company_id` union — Filter by the client company associated with the booking's project.
      - CompanyId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` CompanyId — unresolved $ref
        - `contains` CompanyId — unresolved $ref
        - `eq` CompanyId — unresolved $ref
        - `not_eq` CompanyId — unresolved $ref
    - `note` union — Filter booking report results by note.
      - object — Filter operator object for note.
        - `contains` Note — unresolved $ref
        - `eq` Note — unresolved $ref
        - `not_contain` Note — unresolved $ref
        - `not_eq` Note — unresolved $ref
      - Note — unresolved $ref
    - `formulas` union — Filter booking report results by formulas.
      - Formulas — unresolved $ref
      - object — Filter operator object for formulas.
        - `not_eq` Formulas — unresolved $ref
        - `contains` Formulas — unresolved $ref
        - `eq` Formulas — unresolved $ref
        - `not_contain` Formulas — unresolved $ref
    - `canceled_at` union — Filter booking report results by canceled at.
      - CanceledAt — unresolved $ref
      - object — Filter operator object for canceled at.
        - `not_contain` CanceledAt — unresolved $ref
        - `contains` CanceledAt — unresolved $ref
        - `eq` CanceledAt — unresolved $ref
        - `not_eq` CanceledAt — unresolved $ref
    - `absence_type` union — Filter by absence type (time off or remote work).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` AbsenceType — unresolved $ref
        - `eq` AbsenceType — unresolved $ref
        - `not_eq` AbsenceType — unresolved $ref
        - `contains` AbsenceType — unresolved $ref
      - AbsenceType — unresolved $ref
    - `billing_type_id` union — Filter by billing type.
      - BillingTypeId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` BillingTypeId — unresolved $ref
        - `not_eq` BillingTypeId — unresolved $ref
        - `contains` BillingTypeId — unresolved $ref
        - `eq` BillingTypeId — unresolved $ref
    - `person_id` union — Filter booking report results by person id.
      - PersonId — unresolved $ref
      - object — Filter operator object for person id.
        - `not_eq` PersonId — unresolved $ref
        - `eq` PersonId — unresolved $ref
        - `contains` PersonId — unresolved $ref
        - `not_contain` PersonId — unresolved $ref
    - `budget_id` union — Filter by the associated budget.
      - BudgetId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` BudgetId — unresolved $ref
        - `not_contain` BudgetId — unresolved $ref
        - `contains` BudgetId — unresolved $ref
        - `not_eq` BudgetId — unresolved $ref
    - `draft` union — Filter by booking status (confirmed or tentative/draft).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` Draft — unresolved $ref
        - `not_eq` Draft — unresolved $ref
        - `not_contain` Draft — unresolved $ref
        - `eq` Draft — unresolved $ref
      - Draft — unresolved $ref
    - `date` union — Filter by the booking item date.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` Date — unresolved $ref
        - `contains` Date — unresolved $ref
        - `not_eq` Date — unresolved $ref
        - `not_contain` Date — unresolved $ref
      - Date — unresolved $ref
    - `person_subsidiary_id` union — Filter booking report results by person subsidiary id.
      - PersonSubsidiaryId — unresolved $ref
      - object — Filter operator object for person subsidiary id.
        - `not_contain` PersonSubsidiaryId — unresolved $ref
        - `contains` PersonSubsidiaryId — unresolved $ref
        - `eq` PersonSubsidiaryId — unresolved $ref
        - `not_eq` PersonSubsidiaryId — unresolved $ref
    - `event_id` union — Filter booking report results by event id.
      - EventId — unresolved $ref
      - object — Filter operator object for event id.
        - `not_eq` EventId — unresolved $ref
        - `not_contain` EventId — unresolved $ref
        - `contains` EventId — unresolved $ref
        - `eq` EventId — unresolved $ref
    - `date_after` union — Filter booking report results by date after.
      - DateAfter — unresolved $ref
      - object — Filter operator object for date after.
        - `eq` DateAfter — unresolved $ref
        - `not_contain` DateAfter — unresolved $ref
        - `contains` DateAfter — unresolved $ref
        - `not_eq` DateAfter — unresolved $ref
  - object — A logical filter group — combine multiple conditions with the `$op` operator.
    - `$op` 'or' | 'and', required — Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match.
- `sort` string[]

## Headers

- `X-Organization-Id` string, required

## Response `200`

Collection booking report

---

[API](https://skmtc.dev/productive/apis/api-documentation.md) · [All operations](https://skmtc.dev/productive/apis/api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/productive/api-documentation/revisions/bbf5057edf0d/schema)
