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

# Get person reports

`GET /api/v2/reports/person_reports`

Retrieve aggregated person report data grouped by configurable dimensions.

## Query parameters

- `group` 'approval_policy' | 'autotracking' | 'company' | 'contact_address' | 'contact_city' | 'contact_country' | 'contact_email' | 'contact_phone' | 'contact_state' | 'contact_website' | 'contact_zipcode' | 'created_at' | 'custom_fields' | 'custom_role' | 'deactivated_at' | 'job_role' | 'joined_at' | 'last_activity_at' | 'manager' | 'month' | 'offboarding_status' | 'organization' | 'person' | 'quarter' | 'role_id' | 'shared_seat' | 'status' | 'subsidiary' | 'type' | 'week' | 'year'
- `filter` union — Filter schema for `person_report` list endpoints — pass a single condition or a logical group.
  - 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.
  - FilterPersonReport — Available filter parameters for querying aggregated person report data.
    - `team` union — Filter by the person's team membership.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` Team — unresolved $ref
        - `not_contain` Team — unresolved $ref
        - `not_eq` Team — unresolved $ref
        - `eq` Team — unresolved $ref
      - Team — unresolved $ref
    - `title` union — Filter by the person's job title.
      - Title — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` Title — unresolved $ref
        - `contains` Title — unresolved $ref
        - `eq` Title — unresolved $ref
        - `not_eq` Title — unresolved $ref
    - `tags` union — Filter by tag.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` Tags — unresolved $ref
        - `not_eq` Tags — unresolved $ref
        - `eq` Tags — unresolved $ref
        - `contains` Tags — unresolved $ref
      - Tags — unresolved $ref
    - `accessible_filter_id` union — Filter to people who have access to the specified saved filter.
      - AccessibleFilterId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` AccessibleFilterId — unresolved $ref
        - `eq` AccessibleFilterId — unresolved $ref
        - `not_eq` AccessibleFilterId — unresolved $ref
        - `contains` AccessibleFilterId — unresolved $ref
    - `deactivated_at` union — Filter by deactivation date range (deactivated_at).
      - DeactivatedAt — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` DeactivatedAt — unresolved $ref
        - `not_contain` DeactivatedAt — unresolved $ref
        - `eq` DeactivatedAt — unresolved $ref
        - `contains` DeactivatedAt — unresolved $ref
    - `job_role_id` union
      - object
        - `eq` JobRoleId — unresolved $ref
        - `not_eq` JobRoleId — unresolved $ref
        - `contains` JobRoleId — unresolved $ref
        - `not_contain` JobRoleId — unresolved $ref
      - JobRoleId — unresolved $ref
    - `fuzzy_dates` union — Enable fuzzy matching for date values in the query.
      - FuzzyDates — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` FuzzyDates — unresolved $ref
        - `not_contain` FuzzyDates — unresolved $ref
        - `eq` FuzzyDates — unresolved $ref
        - `contains` FuzzyDates — unresolved $ref
    - `first_name` union — Filter by the person's first name.
      - FirstName — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` FirstName — unresolved $ref
        - `not_eq` FirstName — unresolved $ref
        - `contains` FirstName — unresolved $ref
        - `not_contain` FirstName — unresolved $ref
    - `query` union — Full-text search query across person fields.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` Query — unresolved $ref
        - `contains` Query — unresolved $ref
        - `eq` Query — unresolved $ref
        - `not_contain` Query — unresolved $ref
      - Query — unresolved $ref
    - `accessible_project_id` union — Filter to people who have access to the specified project.
      - AccessibleProjectId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` AccessibleProjectId — unresolved $ref
        - `eq` AccessibleProjectId — unresolved $ref
        - `not_eq` AccessibleProjectId — unresolved $ref
        - `contains` AccessibleProjectId — unresolved $ref
    - `archived_at` union — Filter by archival date range (archived_at).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` ArchivedAt — unresolved $ref
        - `contains` ArchivedAt — unresolved $ref
        - `eq` ArchivedAt — unresolved $ref
        - `not_eq` ArchivedAt — unresolved $ref
      - ArchivedAt — unresolved $ref
    - `subscribable_type` union — Filter by the type of subscribable resource (used together with subscribable_id).
      - SubscribableType — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` SubscribableType — unresolved $ref
        - `not_eq` SubscribableType — unresolved $ref
        - `eq` SubscribableType — unresolved $ref
        - `not_contain` SubscribableType — unresolved $ref
    - `role_id` union — Filter by the person's assigned role.
      - RoleId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` RoleId — unresolved $ref
        - `contains` RoleId — unresolved $ref
        - `not_eq` RoleId — unresolved $ref
        - `eq` RoleId — unresolved $ref
    - `email` union — Filter by email address (text search).
      - Email — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` Email — unresolved $ref
        - `eq` Email — unresolved $ref
        - `not_eq` Email — unresolved $ref
        - `not_contain` Email — unresolved $ref
    - `schedulable` union — Filter by whether the person can be scheduled (has a resourcing-eligible role).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` Schedulable — unresolved $ref
        - `contains` Schedulable — unresolved $ref
        - `not_contain` Schedulable — unresolved $ref
        - `eq` Schedulable — unresolved $ref
      - Schedulable — unresolved $ref
    - `shared_seat` union
      - SharedSeat — unresolved $ref
      - object
        - `eq` SharedSeat — unresolved $ref
        - `not_eq` SharedSeat — unresolved $ref
    - `bookings_after` union — Include only people with bookings starting after this date.
      - BookingsAfter — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` BookingsAfter — unresolved $ref
        - `not_contain` BookingsAfter — unresolved $ref
        - `eq` BookingsAfter — unresolved $ref
        - `contains` BookingsAfter — 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
        - `eq` CustomFields — unresolved $ref
        - `not_contain` CustomFields — unresolved $ref
        - `contains` CustomFields — unresolved $ref
    - `agent` union — Filter by whether the person is an AI agent.
      - Agent — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` Agent — unresolved $ref
        - `contains` Agent — unresolved $ref
        - `eq` Agent — unresolved $ref
        - `not_eq` Agent — unresolved $ref
    - `person_type` union — Filter by the person's type — employee, contractor, client contact, or placeholder.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` PersonType — unresolved $ref
        - `not_contain` PersonType — unresolved $ref
        - `not_eq` PersonType — unresolved $ref
        - `contains` PersonType — unresolved $ref
      - PersonType — unresolved $ref
    - `timesheet_submission_disabled` union — Filter by whether timesheet submission is disabled for the person.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` TimesheetSubmissionDisabled — unresolved $ref
        - `not_contain` TimesheetSubmissionDisabled — unresolved $ref
        - `contains` TimesheetSubmissionDisabled — unresolved $ref
        - `eq` TimesheetSubmissionDisabled — unresolved $ref
      - TimesheetSubmissionDisabled — unresolved $ref
    - `autotracking` union — Filter by whether the person has auto-tracking enabled.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` Autotracking — unresolved $ref
        - `contains` Autotracking — unresolved $ref
        - `not_contain` Autotracking — unresolved $ref
        - `not_eq` Autotracking — unresolved $ref
      - Autotracking — unresolved $ref
    - `bookings_before` union — Include only people with bookings ending before this date.
      - BookingsBefore — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` BookingsBefore — unresolved $ref
        - `not_contain` BookingsBefore — unresolved $ref
        - `eq` BookingsBefore — unresolved $ref
        - `contains` BookingsBefore — unresolved $ref
    - `last_activity_at` union — Filter by the date of the person's last activity (last_activity_at).
      - LastActivityAt — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` LastActivityAt — unresolved $ref
        - `not_eq` LastActivityAt — unresolved $ref
        - `not_contain` LastActivityAt — unresolved $ref
        - `eq` LastActivityAt — unresolved $ref
    - `last_seen_at` union — Filter by the date the person was last seen (last_seen_at).
      - LastSeenAt — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` LastSeenAt — unresolved $ref
        - `not_contain` LastSeenAt — unresolved $ref
        - `not_eq` LastSeenAt — unresolved $ref
        - `eq` LastSeenAt — unresolved $ref
    - `hrm_type_id` union — Filter by the person's HR management type ID.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` HrmTypeId — unresolved $ref
        - `not_contain` HrmTypeId — unresolved $ref
        - `not_eq` HrmTypeId — unresolved $ref
        - `contains` HrmTypeId — unresolved $ref
      - HrmTypeId — unresolved $ref
    - `created_at` union — Filter by creation date range (created_at).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` CreatedAt — unresolved $ref
        - `eq` CreatedAt — unresolved $ref
        - `contains` CreatedAt — unresolved $ref
        - `not_eq` CreatedAt — unresolved $ref
      - CreatedAt — unresolved $ref
    - `company_id` union — Filter by client company.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` CompanyId — unresolved $ref
        - `not_eq` CompanyId — unresolved $ref
        - `eq` CompanyId — unresolved $ref
        - `contains` CompanyId — unresolved $ref
      - CompanyId — unresolved $ref
    - `custom_role_id` union — Filter by the ID of the person's custom role (permission set).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` CustomRoleId — unresolved $ref
        - `contains` CustomRoleId — unresolved $ref
        - `eq` CustomRoleId — unresolved $ref
        - `not_contain` CustomRoleId — unresolved $ref
      - CustomRoleId — unresolved $ref
    - `project_watching` union — Filter by project IDs the person is auto-subscribed (watching) to.
      - ProjectWatching — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` ProjectWatching — unresolved $ref
        - `contains` ProjectWatching — unresolved $ref
        - `not_contain` ProjectWatching — unresolved $ref
        - `not_eq` ProjectWatching — unresolved $ref
    - `holiday_calendar_id` union — Filter by the ID of the person's holiday calendar.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` HolidayCalendarId — unresolved $ref
        - `eq` HolidayCalendarId — unresolved $ref
        - `contains` HolidayCalendarId — unresolved $ref
        - `not_contain` HolidayCalendarId — unresolved $ref
      - HolidayCalendarId — unresolved $ref
    - `accessible_doc_id` union — Filter to people who have access to the specified doc (page).
      - AccessibleDocId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` AccessibleDocId — unresolved $ref
        - `contains` AccessibleDocId — unresolved $ref
        - `not_contain` AccessibleDocId — unresolved $ref
        - `eq` AccessibleDocId — unresolved $ref
    - `full_query` union — Full-text search query — matches across person name, email, and other fields.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` FullQuery — unresolved $ref
        - `eq` FullQuery — unresolved $ref
        - `contains` FullQuery — unresolved $ref
        - `not_eq` FullQuery — unresolved $ref
      - FullQuery — unresolved $ref
    - `fuzzy_people` union — Fuzzy search by person name.
      - FuzzyPeople — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` FuzzyPeople — unresolved $ref
        - `not_eq` FuzzyPeople — unresolved $ref
        - `contains` FuzzyPeople — unresolved $ref
        - `eq` FuzzyPeople — unresolved $ref
    - `status` union — Filter by the person's account status — active or inactive.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` Status — unresolved $ref
        - `contains` Status — unresolved $ref
        - `not_eq` Status — unresolved $ref
        - `eq` Status — unresolved $ref
      - Status — unresolved $ref
    - `subscribable_id` union — Filter by the ID of the subscribable resource (used together with subscribable_type).
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` SubscribableId — unresolved $ref
        - `eq` SubscribableId — unresolved $ref
        - `contains` SubscribableId — unresolved $ref
        - `not_contain` SubscribableId — unresolved $ref
      - SubscribableId — unresolved $ref
    - `virtual` union — Filter by whether the person is a virtual/placeholder person.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` Virtual — unresolved $ref
        - `not_eq` Virtual — unresolved $ref
        - `not_contain` Virtual — unresolved $ref
        - `contains` Virtual — unresolved $ref
      - Virtual — unresolved $ref
    - `joined_at` union — Filter by the date the person joined the organization (joined_at).
      - JoinedAt — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` JoinedAt — unresolved $ref
        - `eq` JoinedAt — unresolved $ref
        - `not_eq` JoinedAt — unresolved $ref
        - `contains` JoinedAt — unresolved $ref
    - `time_tracking_policy_id` union — Filter by the person's assigned time tracking policy.
      - TimeTrackingPolicyId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` TimeTrackingPolicyId — unresolved $ref
        - `eq` TimeTrackingPolicyId — unresolved $ref
        - `not_eq` TimeTrackingPolicyId — unresolved $ref
        - `contains` TimeTrackingPolicyId — unresolved $ref
    - `two_factor_auth` union — Filter by whether two-factor authentication is enabled for the person.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` TwoFactorAuth — unresolved $ref
        - `contains` TwoFactorAuth — unresolved $ref
        - `not_eq` TwoFactorAuth — unresolved $ref
        - `eq` TwoFactorAuth — unresolved $ref
      - TwoFactorAuth — unresolved $ref
    - `service_id` union — Filter by the associated service.
      - ServiceId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` ServiceId — unresolved $ref
        - `not_contain` ServiceId — unresolved $ref
        - `contains` ServiceId — unresolved $ref
        - `eq` ServiceId — unresolved $ref
    - `manager_id` union — Filter by the person's direct manager.
      - ManagerId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` ManagerId — unresolved $ref
        - `not_eq` ManagerId — unresolved $ref
        - `contains` ManagerId — unresolved $ref
        - `not_contain` ManagerId — unresolved $ref
    - `subsidiary_id` union — Filter by the person's subsidiary.
      - SubsidiaryId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` SubsidiaryId — unresolved $ref
        - `not_eq` SubsidiaryId — unresolved $ref
        - `contains` SubsidiaryId — unresolved $ref
        - `eq` SubsidiaryId — unresolved $ref
    - `last_name` union — Filter by the person's last name.
      - LastName — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` LastName — unresolved $ref
        - `contains` LastName — unresolved $ref
        - `not_eq` LastName — unresolved $ref
        - `eq` LastName — unresolved $ref
    - `id` union — Filter by the person's ID.
      - Id — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` Id — unresolved $ref
        - `eq` Id — unresolved $ref
        - `contains` Id — unresolved $ref
        - `not_eq` Id — unresolved $ref
    - `approval_policy_id` union — Filter by the person's assigned approval policy.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` ApprovalPolicyId — unresolved $ref
        - `not_contain` ApprovalPolicyId — unresolved $ref
        - `contains` ApprovalPolicyId — unresolved $ref
        - `not_eq` ApprovalPolicyId — unresolved $ref
      - ApprovalPolicyId — unresolved $ref
    - `permissions` union — Filter by the person's permission level in the organization.
      - Permissions — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` Permissions — unresolved $ref
        - `eq` Permissions — unresolved $ref
        - `contains` Permissions — unresolved $ref
        - `not_eq` Permissions — unresolved $ref
    - `service_type_id` union — Filter by the person's assigned service type.
      - ServiceTypeId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` ServiceTypeId — unresolved $ref
        - `not_eq` ServiceTypeId — unresolved $ref
        - `contains` ServiceTypeId — unresolved $ref
        - `not_contain` ServiceTypeId — unresolved $ref
    - `eligible_replacement_managers` union — Filter to people eligible to replace the specified person as a manager.
      - EligibleReplacementManagers — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` EligibleReplacementManagers — unresolved $ref
        - `not_contain` EligibleReplacementManagers — unresolved $ref
        - `contains` EligibleReplacementManagers — unresolved $ref
        - `not_eq` EligibleReplacementManagers — unresolved $ref
    - `project_id` union — Filter by the associated project.
      - ProjectId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_eq` ProjectId — unresolved $ref
        - `contains` ProjectId — unresolved $ref
        - `eq` ProjectId — unresolved $ref
        - `not_contain` ProjectId — unresolved $ref
    - `offboarding_status` union — Filter by the person's offboarding status.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `not_contain` OffboardingStatus — unresolved $ref
        - `not_eq` OffboardingStatus — unresolved $ref
        - `contains` OffboardingStatus — unresolved $ref
        - `eq` OffboardingStatus — unresolved $ref
      - OffboardingStatus — unresolved $ref
    - `jump_query` union — Quick search query for navigating to a person by name.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` JumpQuery — unresolved $ref
        - `not_contain` JumpQuery — unresolved $ref
        - `not_eq` JumpQuery — unresolved $ref
        - `eq` JumpQuery — unresolved $ref
      - JumpQuery — unresolved $ref
    - `accessible_deal_id` union — Filter to people who have access to the specified deal.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `eq` AccessibleDealId — unresolved $ref
        - `not_contain` AccessibleDealId — unresolved $ref
        - `not_eq` AccessibleDealId — unresolved $ref
        - `contains` AccessibleDealId — unresolved $ref
      - AccessibleDealId — unresolved $ref
    - `approval_workflow_id` union — Filter by approval workflow the person is part of.
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` ApprovalWorkflowId — unresolved $ref
        - `not_eq` ApprovalWorkflowId — unresolved $ref
        - `eq` ApprovalWorkflowId — unresolved $ref
        - `not_contain` ApprovalWorkflowId — unresolved $ref
      - ApprovalWorkflowId — unresolved $ref
- `sort` string[]

## Headers

- `X-Organization-Id` string, required

## Response `200`

Collection person 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)
