--- openapi: 3.1.0 info: title: API Documentation tags: - name: Activities description: |- Activities in Productive track changes made to various objects across the platform. Whenever an object is created, updated, or deleted, a new activity is logged. This activity records the type of change, the specific data that was modified, as well as the actor who made the change and the exact timestamp when it occurred. These activities are primarily used in Feeds for different objects, such as Tasks, Projects, People and other. _Note:_ Activities are created for most, but not all, objects in Productive. - name: Approval Policy description: Approval policies define who approves time entries, absences, or expenses. Configures the set of approvers and whether all approvers must approve (unanimous) or any single approver is sufficient. - name: Approval Policy Assignment description: |- **Approval policy assignments** link an approval policy to a person, determining who approves their time entries, expenses, or absence requests. Each person can have different policies for different approval types. Manage assignments to configure the approval chain for individuals across your organization. - name: Approval Status description: |- The `ApprovalStatus` entity represents a single approval requirement on a target (`Booking`, `TimeEntry`, or `Expense`). It is created automatically by an `ApprovalWorkflow` once a triggering event matches the workflow's approval policy, and it tracks whether a specific approver has approved or rejected the target. Multiple approval statuses can be attached to the same target — one per required approver (explicit or dynamic). A target is only considered fully approved once its approval statuses satisfy the rule defined by `ApprovalWorkflow.approval_requirement_id` (`Any of` vs `All of` listed approvers). Each approval status carries: - The approver assigned to act on it — either an **explicit person** (via the `approver` relationship) or a **dynamic role** resolved at approval time (`dynamic_approver_type_id`: Manager, Budget owner, Project manager, or Designated approver). - A **fallback approver type** used when the dynamic approver cannot be resolved (e.g., the person has no manager). - The **actual approver** — the person who took the action. May differ from the assigned approver when a fallback was used or when someone with appropriate permissions approved on behalf of the assignee. - Timestamps for approval (`approved_at`) and rejection (`rejected_at`). - An optional `note` left by the actor when approving or rejecting. The status is mutated via the dedicated `approve` and `reject` endpoints, which also trigger the broader approval flow on the target — potentially auto-approving (or auto-rejecting) the target once the workflow's rule is satisfied. - name: Approval Workflow description: |- The ApprovalWorkflow entity serves as the core component of the [ApprovalPolicy](https://developer-staging.productive.io/approval_policies.html#approval-policies) object. It defines and manages information about approvers and subscribers, including the explicit and dynamic approvers and subscribers. Explicit approvers or subscribers can be assigned using the `approver_ids` or `subscriber_ids` arrays, which contain the IDs of the respective person objects designated as approvers or subscribers. Dynamic approvers and subscribers can be configured using the `dynamic_approvers_ids` or `dynamic_subscriber_ids` arrays, which include the ID of one of the following options: - Manager (id: 1) – The person's manager is automatically assigned as the approver or subscriber for the corresponding request. When creating an approval workflow, it is necessary to define the `approval_requirement_id`, which determines whether approval is required for the corresponding requests and, if so, it defines the level of the needed approval. The available values for `approval_requirement_id` are: - `approval_requirement_id: 1` - None -> No approval is required for the request to be considered approved. - `approval_requirement_id: 2` - Any of the listed approvers -> Approval from at least one approver is sufficient for the request to be considered approved. - `approval_requirement_id: 3` - All listed approvers -> Approval from all listed approvers is required for the request to be considered approved. Following diagram shows approval workflows in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors approval_policy: Approval Policy approval_workflows: Approval Workflows { class: primary } approval_policy_assignment: Approval Policy Assignment person: Person # define connections person -> approval_policy_assignment approval_policy -> approval_policy_assignment approval_policy -> approval_workflows ``` - name: Attachments description: |- The attachment object represents files such as images, PDFs and documents that can be assigned to other objects. These include, but are not limited, to tasks, comments, expenses and purchase orders. With attachments, users can provide relevant information, resources and additional context for related objects. You can find more about attachments in our Help documentation: [Working with attachments](https://help.productive.io/en/articles/2179672-working-with-attachments) For more details on how to work with attachment files through our API please refer to [Working with attachments](https://developer.productive.io/working_with_attachments.html#working_with_attachments) guide. - name: Automatic Invoicing Rules description: |- **Automatic invoicing rules** define conditions under which invoices are generated automatically from budget services — on time-based schedules, milestone completion, or budget consumption thresholds. Use these endpoints to configure recurring or event-driven billing without manual invoice creation. - name: BankAccounts description: |- **Bank accounts** store payment destination details for subsidiaries, displayed on invoices and financial documents. They contain IBAN, SWIFT/BIC, bank name, and account number fields. Manage which bank accounts are associated with each subsidiary to control what payment information appears on client-facing documents. - name: Bills description: Receipt records against a purchase order tracking vendor deliveries. Each bill captures the invoice number, date, due date, description, and amounts received. Bill items link PO expenses to received quantities. - name: Boards description: |- The Board object represents a board within the project management system. It sits between Projects and Task lists, meaning it belongs to a project and contains multiple task lists. In the application, `boards` are currently referred to as `folders`. You can find out more about boards in our Help documentation: [Boards](https://help.productive.io/en/articles/2179655-multiple-boards) Following diagram shows boards in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors project: Project board: Board { class: primary } task_list: Task list task: Task comments: Comments subtasks: Subtasks todos: Todos # define connections project -> board -> task_list -> task task -> comments task -> subtasks task -> todos ``` - name: Bookings description: |- The Booking object represents a scheduled time allocation for a person, serving as a core component for tracking time, managing availability, and organizing resource allocation. There are two main types of bookings: 1. Budget bookings - where a person is allocated to work on a specific deal/budget. These bookings are linked to a [service](https://developer.productive.io/services.html#services) object, which represents the actual work being done. 2. Absence bookings - which track time off and remote work absences. These bookings are linked to an [event](https://developer.productive.io/events.html#events) object, representing the type of absence (time off or remote work). Each booking method defines how time is allocated and requires specific attributes to be set: Per day (requires `hours` and `time` attributes to specify hours and time for each day), Percentage (requires `percentage` attribute to allocate a portion of a person's available time) and Total hours (requires `total_time` attribute to specify the total amount of hours for the selected period). Bookings can have different states depending on their type: - Budget bookings can be either Tentative (when there's a possibility of the time allocation but it's not yet confirmed, indicated by `draft: true`) or Confirmed - Absence bookings go through an approval workflow with the following states: Pending (waiting for approval), Approved, Rejected (with a reason), or Canceled (if cancelled after submitting for approval) Bookings can also be customized with custom fields to store additional information about booking. Custom fields allow you to add custom attributes or any other metadata relevant to your booking workflow. For more details on how to work with custom fields please refer to [Working with custom fields](https://developer.productive.io/working_with_custom_fields.html#working_with_custom_fields) guide. The following diagram shows bookings in our data hierarchy: ```d2 ...@template # template cant import globs just yet *: { class: default } # Define actors person: Person service: Service event: Event booking: Booking { class: primary } # Define connections person -> booking service -> booking event -> booking ``` - name: Comments description: Comments on tasks, deals, companies, persons, pages, projects, purchase orders, and invoices. Supports rich text with @mentions, emoji reactions, pinning, and edit history. Comments appear in the activity feed of the parent resource. - name: Companies description: |- Company resources are used to keep track of clients and manage their associated deals, budgets, contacts (people) and projects. More information about Companies can be found in our Help documentation: [Adding Client Companies](https://help.productive.io/en/articles/2179668-adding-client-companies). The `/companies` endpoint allows you to create, update, delete, archive or unarchive (restore) Companies. The following diagram shows Companies in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors company: Company { class: primary } deals: Deals projects: Projects people: People subsidiary: Subsidiary # define connections company -> deals company -> projects company -> people company <- subsidiary ``` Since companies can have custom fields, please refer to the [Working with custom fields](https://developer.productive.io/working_with_custom_fields.html#working_with_custom_fields) guide for more details on how to work with them. - name: Contact Entries description: Contact information records (email, phone, website, postal address) for companies and people. Multiple contact entries can be attached to a single company or person, each with a type (e.g. work, personal) and optional billing-specific fields. - name: Contracts description: |- For more details on contracts please refer to the [help article](https://help.productive.io/en/articles/2179582-recurring-budgets). The contract object represents recurring financial commitments such as recurring budgets. Recurring commitments are either created automatically or triggered manually. Please note that we rate limit POST requests for generating recurring budgets to 50 requests per minute. - name: Custom Field Options description: |- Custom field options define the choices available for custom fields with the select or multiple select data types. Following diagram shows custom field options in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors custom_field: Custom Field custom_field_options: Custom Field Options { class: primary } # define connections custom_field -> custom_field_options ``` - name: Custom Field Section description: |- CustomFieldSection is an entity that serves as a container for employee custom fields, enabling the grouping of those fields. Also in this way, employee custom fields cannot exist without belonging to a section. Each employee custom field belongs to a specific section and has section_id set, while one section contains several possible employee custom fields. For more details on how to work with custom fields please refer to [Working with custom fields](https://developer.productive.io/working_with_custom_fields.html#working_with_custom_fields) guide. Following diagram shows custom field sections in our data hierarchy: ```d2 ...@template # template cant import globs just yet *: { class: default } # Define actors custom_field_section: Custom Field Section { class: primary } custom_fields: Custom Fields # define connections custom_field_section -> custom_fields ``` - name: Custom Fields description: |- Custom fields allow you to use unique categorizations that are not available in Productive's default settings, allowing you to organize data based on your specific criteria and use it throughout the app. For more details on how to work with custom fields please refer to [Working with custom fields](https://developer.productive.io/working_with_custom_fields.html#working_with_custom_fields) guide. ### Aggregation type The `aggregation_type_id` attribute can have one of the following integer values: - 1 (sum) - 2 (avg) ### Customizable type The `customizable_type` attribute can have one of the following string values: - deals - projects - companies - budgets - invoices - tasks - projects - bookings - project_expenses - services - employees - contacts - pages - survey_responses ### Data type The `data_type_id` attribute can have one of the following integer values: - 1 (Text field) - 2 (Number field) - 3 (Select field) - 4 (Date field) - 5 (Multiple select field) - 6 (Person field) - 7 (Attachment field) ### Formatting type The `formatting_type_id` attribute can have one of the following integer values: - 1 (decimal) - 2 (percentage) - name: Custom domains description: |- **Custom domains** allow organizations to send transactional emails (invoices, proposals, notifications) from their own domain rather than a Productive-managed address. Configure and verify DNS records (`SPF`, `DKIM`, `MX`) for your domain through these endpoints. A verified custom domain improves email deliverability and reinforces brand identity. - name: Dashboards description: | The Dashboard object represents the main component of the dashboard system. It functions as a container for Widgets, enabling users to edit and arrange them as needed, allowing you to have all essential information in one place. You can find out more about dashboards in our Help documentation for [Dashboards](https://help.productive.io/en/articles/6423123-dashboards) - name: Deal Cost Rates description: |- For an overview of deal cost rates please refer to the [help article](https://help.productive.io/en/articles/8795140-custom-cost-rates-on-budgets-and-deals). Besides having default [cost rates](https://help.productive.io/en/articles/2179644-understanding-and-setting-up-cost-rates-in-productive) for the team, a custom cost rate for specific deal or budget can be set, which will override the default value. Only one per person, per deal can be created. Following depicts the Deal cost rate entity relationship diagram: ```d2 ...@template *: { class: default } # Define actors deal: Deal / Budget person: Person deal_cost_rate: DealCostRate { class: primary } deal -> deal_cost_rate <- person ``` - name: Deal Statuses description: Pipeline stages defining deal outcomes. Each status belongs to a pipeline and has an outcome category (open, won, lost, or delivered). Statuses can enable time tracking, expense tracking, booking tracking, and probability estimation. - name: Deals description: |- This endpoint contains both `budgets` and `deals`. When creating a new record, a budget or deal will be created based on the `budget` attribute in the request. If the request does not contain the `budget` attribute or has `budget: false` the new record will be a deal. If the request has `budget: true` the new record will be a budget. For more details on how to work with custom fields please refer to [Working with custom fields](https://developer.productive.io/working_with_custom_fields.html#working_with_custom_fields) guide. - name: Deleted Items description: |- The Deleted item object represents an deleted object (e.g., Task, Project, Doc) that can be found in the Recycle bin. Deleted items can be restored, meaning the object they reference will be restored and it will disappear from the Recycle bin. They can also be permanently deleted, meaning the object they reference will no longer be able to be retrieved from the Recycle bin. You can find out more about Recycle bin in our Help documentation for [Recycle bin](https://help.productive.io/en/articles/5609401-recycle-bin) - name: Discussions description: Discussion is a thread of comments related to the highlighted part of docs (page) content. - name: Document Styles description: |- **Document styles** control the visual presentation of generated PDFs — fonts, colors, logos, and layout settings. They are applied to document types to produce consistently branded, client-facing documents. Update a style to propagate branding changes across all documents that reference it. - name: Document Types description: |- **Document types** are PDF templates used to generate financial documents — invoices, proposals, and purchase orders. They define content blocks, layout, and branding applied when rendering documents. Assign document types to subsidiaries to set the default template for generated PDFs. - name: E-invoice Identities - name: Emails description: |- **Emails** synced from external providers (Gmail, Outlook) and linked to deals, contacts, projects, or tasks. They surface client communication history directly within Productive for CRM context. List and retrieve email threads associated with records through these endpoints. - name: Entitlements description: Time-off balances for a person. Tracks allocated, used, and pending (approved but not taken) days for a specific absence category (event) and period. Updated automatically as bookings and approvals are processed. - name: Events description: |- Event resources represent Absence categories. More information about the Absence categories can be found in our Help documentation: [Configuring Your Time Off Settings](https://help.productive.io/en/articles/3154360-configuring-your-time-off-settings). The `/events` endpoint allows you to create, update, delete, archive or unarchive (restore) Events. The following diagram shows Events in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors event: Event { class: primary } bookings: Bookings entitlements: Entitlements approval_workflows: Approval Workflows # define connections event -> bookings event -> entitlements event -> approval_workflows ``` For limited Events, absence bookings can only be created if the assignee has sufficient available hours or days defined via [Entitlements](https://developer.productive.io/entitlements.html#entitlements). Approvers and subscribers for a Person’s absence booking on a specific Event can be managed through [ApprovalWorkflows](https://developer.productive.io/approval_workflows.html#approval-workflows). Also, we differentiate between time off (e.g. vacation, sick leave) and remote work (e.g. work from home) events. This is defined via the `absence_type` attribute. It is possible to change an event from the `remote_work` to the `time_off` absence type and vice versa, but please note that remote work events will always have the Unpaid event type. For more details on how to work with remote work events, please refer to the [Remote Work](https://help.productive.io/en/articles/11026966-remote-work-beta) help article. - name: Exchange Rates description: |- **Exchange rates** define currency conversion ratios applied across financial calculations in Productive — used when converting budget amounts, costs, and revenues between currencies in multi-currency organizations. Query exchange rates to understand the conversions applied to financial data for a given date. - name: Expenses description: |- For an overview of expenses please refer to the [help article](https://help.productive.io/en/articles/9154726-expenses-admin-overview) Expenses in productive are additional costs related to your budgets and deals. An expense always belongs to a service which in turn always belongs to a budget or deal. An expense can also belong to a Purchase Order (when it's on a budget service), but that is not mandatory. Following diagram shows expenses in our data hierarchy: ```d2 ...@template *: { class: default } # Define actors budget: Budget / Deal service: Service purchase_order: Purchase Order expense: Expense { class: primary } budget -> service -> expense budget -> purchase_order -> expense: { style: { stroke: black stroke-dash: 5 } } ``` Expenses support attachments and custom fields. - name: Expenses - Bulk description: |- **Bulk expense operations** allow creating or updating multiple expense records in a single request — useful for high-volume import workflows where individual API calls would be impractical. Bulk operations follow the same validation rules as single-record endpoints. - name: Filters description: Filters records are used to save the setup of your views, reports and widgets across Productive. - name: Folders description: |- The Folder object represents a folder within the project management system. It sits between Projects and Task lists, meaning it belongs to a project and contains multiple task lists. You can find out more about folders in our Help documentation: [Folders](https://help.productive.io/en/articles/2179655-multiple-boards) Following diagram shows folders in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors project: Project folder: Folder { class: primary } task_list: Task list task: Task comments: Comments subtasks: Subtasks todos: Todos # define connections project -> folder -> task_list -> task task -> comments task -> subtasks task -> todos ``` - name: Holiday calendars description: |- For more details on how to work with holiday calendars and holidays, please refer to [Holidays Settings](https://help.productive.io/en/articles/2179650-holidays-settings) article. Holiday calendar is an entity that represents an outer container for multiple holidays. Holidays within the calendar define the persons availability and capacity on a particular date. For more details on how to work with holidays, please refer to [Holidays](https://developer.productive.io/holidays.html#holidays) documentation. A holiday calendar is associated with person's cost rate (salary). Each cost rate has exactly one holiday calendar. You can find more about relationship between cost rates and holiday calendars in our help documentation: [Understanding and Setting Up Cost Rates in Productive](https://help.productive.io/en/articles/2179644-understanding-and-setting-up-cost-rates-in-productive). The following diagram shows holiday calendars in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors person: Person holiday_calendar: Holiday Calendar { class: primary } salaries: Salaries holidays: Holidays # define connections person -> salaries holiday_calendar -> salaries holiday_calendar -> holidays ``` - name: Holidays description: "For more details on how to work with holidays please refer to: [Holidays Settings](https://help.productive.io/en/articles/2179650-holidays-settings). \nThe Holiday entity represents a specific holiday that can be defined within the holiday calendar. One holiday calendar includes multiple holidays. \nThe primary function of the holiday entity is to define an employee's availability on a specific calendar date based on their defined cost rate ([Salary entity](https://developer-staging.productive.io/salaries.html#salaries)).\n\nYou can find out more about how holidays affect availability and capacity in our Help article: [Capacity vs. Availability: What You Need To Know](https://help.productive.io/en/articles/2651833-capacity-vs-availability-what-you-need-to-know)\n\nThe following diagram shows holidays in our data hierarchy:\n\n```d2\n...@template\n# template cant import globs just yet\n* {\n class: default\n}\n\n# Define actors\nperson: Person\nholiday_calendar: Holiday Calendar\nsalaries: Salaries\nholidays: Holidays {\n class: primary\n}\n\n# define connections\nperson -> salaries\nholiday_calendar -> salaries\nholiday_calendar -> holidays\n```" - name: Integration Exporter Configuration description: |- **Integration exporter configurations** define how data is exported from Productive to external accounting and ERP systems, storing connection credentials, entity mappings, and export preferences per integration type. Use these endpoints to set up and maintain accounting sync pipelines for QuickBooks, Xero, or NetSuite. - name: Integrations description: |- **Integrations** connect Productive to external systems — accounting software, SSO providers, and communication tools. Manage settings, credentials, and sync configuration for each connected service. Supported integrations include QuickBooks, Xero, NetSuite, Slack, and SAML-based single sign-on. - name: Invitations description: |- **Invitations** allow existing users to invite new members to join an organization in Productive. Manage pending invitations, resend emails, and revoke outstanding invites. Accepting an invitation creates a new user account and organization membership for the invitee. - name: Invoice Attributions description: |- An invoice attribution object represents a link between a budget and an invoice. Following diagram shows invoice attributions in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors budget: Budget invoice1: Invoice invoice2: Invoice invoice_attribution1: Invoice Attribution { class: primary } invoice_attribution2: Invoice Attribution { class: primary } # Define connections budget -> invoice_attribution1 invoice1 -> invoice_attribution1 budget -> invoice_attribution2 invoice2 -> invoice_attribution2 ``` ### Related resources - [Deals (Budget)](https://developer.productive.io/deals.html#deals) - [Invoice](https://developer.productive.io/invoice_attributions.html#invoices) - name: Invoice Templates description: |- **Invoice templates** (document types) define the layout, content, and branding for PDF-generated invoices and financial documents — controlling headers, footers, logos, and displayed fields. Assign templates to subsidiaries to produce consistently branded, client-facing billing documents. - name: Invoices description: |- For more details on how to work with custom fields please refer to [Working with custom fields](https://developer.productive.io/working_with_custom_fields.html#working_with_custom_fields) guide. The invoice object represents the main building block of the invoicing module. You can find out more about invoicing in our Help documentation: [Creating and Managing Invoices](https://help.productive.io/en/collections/8956111-creating-and-managing-invoices) Following diagram shows invoices in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors budget1: Budget budget2: Budget invoice_attribution1: "Invoice Attribution" invoice_attribution2: "Invoice Attribution" invoice_attribution3: "Invoice Attribution" invoice2: Invoice { class: primary } invoice3: Invoice { class: primary } line_item1: "Line Item" line_item2: "Line Item" line_item3: "Line Item" tax_rate1: "Tax Rate" tax_rate2: "Tax Rate" tax_rate3: "Tax Rate" # Define connections budget1 -> invoice_attribution1 <-> invoice2 -> line_item1 -> tax_rate1 budget2 -> invoice_attribution2 <-> invoice2 -> line_item2 -> tax_rate2 budget2 -> invoice_attribution3 <-> invoice3 -> line_item3 -> tax_rate3 ``` ### Tax changes On September 3, 2024, we've released new Tax rates system. That means that `tax1_name`, `tax1_value`, `tax2_name` and `tax2_value` attributes on Invoice object are no longer in use. You should, however, use `tax_rate_id` attribute on Line item objects to achieve the same goal. You can read more about this in [LineItems endpoint](https://developer.productive.io/line_items.html#header-setting-tax-data) documentation. ### Related resources - [Deals (Budget)](https://developer.productive.io/deals.html#deals) - [Invoice Attributions](https://developer.productive.io/invoice_attributions.html#invoice-attributions) - [Line Items](https://developer.productive.io/line_items.html#line-items) - name: Line Items description: |- A line item is a component of an invoice which represents an individual entry that details a specific good or service provided by the seller to the buyer. To find out more about managing invoices and line items, visit our Help documentation: [Creating and Managing Invoices](https://help.productive.io/en/collections/8956111-creating-and-managing-invoices). Following diagram shows line items in our data hierarchy: ```d2 ...@template # template cant import globs just yet *: { class: default } # Define actors invoice1: Invoice line_item1: Line Item { class: primary } line_item2: Line Item { class: primary } tax_rate1: Tax Rate tax_rate2: Tax Rate service: Service service_type: Service Type # Define connections invoice1 -> line_item1 -> tax_rate1 invoice1 -> line_item2 -> tax_rate2 line_item2 -> service line_item2 -> service_type ``` ### Setting tax data In an old workflow, adding tax data to a line item requires two values: `tax_name` and `tax_value`. For example, if you wanted to add a VAT 15%, you would send `tax_name: ‘VAT’` and `tax_value: 15`. In a new workflow (available for customers on our BETA program for now), you should send `tax_rate_id` instead, which points to a Tax rate object. So, in order to set VAT 15% to your line item, you would first need to have a tax rate object with those values and then send its ID to the desired line item. - name: Line Items - Bulk - name: Lost Reasons description: |- **Lost reasons** are labels that explain why a deal was marked as lost in the CRM pipeline. Create and manage the set of available options for your organization. Attaching a lost reason to a closed deal helps track pipeline health and surface patterns in lost opportunities. - name: Memberships description: |- Working with memberships: Membership objects are used for managing access to different resources in Productive. Currently it is used to manage access to projects, docs, dashboards, task views and deals. ### Resources accessible via memberships Depending on the resource you are giving access for, different attribute is required. Here is a list of resources that can be used with memberships and their required attributes: | Resource | Required attributes | |-----------|---------------------| | Project | `project_id` | | Doc | `page_id` | | Dashboard | `dashboard_id` | | Task view | `filter_id` | | Deal | `deal_id` | | Pulse | `pulse_id` | ### Membership types There are three types of membership: - `type_id: 1`, **person** -> gives access to a specific person - `type_id: 2`, **dynamic_group** -> gives access to a system predefined group of people - `type_id: 3`, **team** -> gives access to a team When working with memberships, depending on the type of membership, different attributes should be sent. For person membership, you need to provide `person_id`, for dynamic group membership, you need to provide `dynamic_group_id`, and for team membership, you need to provide `team_id`. ### Dynamic groups Dynamic groups are predefined groups of people that are created based on the person role and person assignment. There are five types of dynamic groups: - `dynamic_group_id: 2` - **employees** -> all employees in the organization - `dynamic_group_id: 6` - **project_members** -> all members of a resource's project - `dynamic_group_id: 8` - **project_manager** -> project manager of a resource's project - `dynamic_group_id: 9` - **deal_owner** -> owner of a deal - `dynamic_group_id: 10` - **users_that_can_manage_project** -> all users who are members of a resource's project and have the `Add, edit, and delete projects` permission When creating a membership for a dynamic group, you need to provide `dynamic_group_id`. Depending on the target resource you are giving access to, different dynamic groups are available, `dynamic_group_id` available for: - **Project** membership: 2 - **Doc** membership - if Doc is on a project: 2, 6, 8 - if Doc is not on a project: 2 - **Dashboard** membership - if Dashboard is on a project: 2, 6, 8, 10 - if Dashboard is not on a project: 2 - **Deal** membership: 2, 6, 8, 9 - **Task view** membership: 2 ### Access levels There are multiple access levels membership can have: - `access_type_id: 1` - full -> can edit and delete resource - `access_type_id: 2` - edit -> can edit resource - `access_type_id: 3` - view -> can only view resource - `access_type_id: 4` - comment -> can comment on resource - `access_type_id: 5` - member -> marks a subject as a member of a resource More about **member access**: Member access is used for resources where there is no need for different levels (projects, deals). Those resources use only one access type and that is member access. Having member access means you are a member of a resource. Depending on the target resource you are giving access to, different access levels are available: - **Project** memberships use level: 5 - **Doc** memberships use levels: 1, 2, 3, 4 - **Dashboard** memberships use levels: 1, 3 - **Deal** memberships use level: 5 - **Task view** memberships use level: 1, 3 - **Pulse** memberships use level: 1 ### Examples of creating membership **Example 1**: creating a membership for a person on a project `POST https://api.productive.io/api/v2/memberships` ``` { "data": { "attributes": { "type_id": 1, "person_id": 123, "access_type_id": 5, "project_id": 321 }, "type": "memberships" } } ``` Explanation of the example: - `type_id: 1` - membership is for a person - `person_id: 123` - person with id: 123 is getting access - `access_type_id: 5` - person is getting member access - `project_id: 321` - person is getting access to project with id: 321 **Example 2**: creating full access membership for an employees dynamic group on a dashboard `POST https://api.productive.io/api/v2/memberships` ``` { "data": { "attributes": { "type_id": 2, "dynamic_group_id": 2, "access_type_id": 1, "dashboard_id": 321 }, "type": "memberships" } } ``` Explanation of the example: - `type_id: 2` - membership is for a dynamic group - `dynamic_group_id: 2` - **employees** dynamic group is getting access - `access_type_id: 1` - employees are getting full access - `dashboard_id: 321` - employees are getting access to dashboard with id: 321 **Example 3**: creating view access membership for a team on a doc `POST https://api.productive.io/api/v2/memberships` ``` { "data": { "attributes": { "type_id": 3, "team_id": 123, "access_type_id": 3, "page_id": 321 }, "type": "memberships" } } ``` Explanation of the example: - `type_id: 3` - membership is for a team - `team_id: 123` - team with id: 123 is getting access - `access_type_id: 3` - team is getting view access - `page_id: 321` - team is getting access to doc with id: 321 - name: Notifications description: |- **Notifications** are inbox items generated by activity on tasks, deals, comments, and other resources — triggered by mentions, assignments, approval requests, and status changes. List a user's notifications and mark them as read through these endpoints. - name: Organization Memberships description: Organization memberships link users to organizations, granting login access. Stores per-user preferences including notification settings, default filters for each list view (tasks, deals, invoices, etc.), and UI layout preferences. - name: Organization Subscriptions description: |- **Organization subscriptions** represent the current pricing plan and active feature entitlements for an organization. Query subscription details to determine which modules and limits apply — such as maximum seats, advanced reporting, or resource planning. Subscriptions reflect the organization's billing tier and control access to premium features. - name: Organizations description: |- **Organizations** are the top-level accounts representing a company using Productive. Manage organization-wide settings, branding, localization, and configuration. Each organization contains subsidiaries, people, projects, and all associated financial and operational data. - name: Overheads description: |- For more details about what overheads are, please refer to the [help article](https://help.productive.io/en/articles/6839043-overhead-cost). The Overhead object represents overhead costs for a particular month of a fiscal year. Productive generates overhead objects automatically every month, starting the month when you opened your Productive account. Please note that some overhead settings are also defined at the organisation level. This settings can be changed by modifying the Organizations object. - name: PageVersions description: |- **Page versions** capture the revision history of a doc page — each significant edit creates a new version. List the version history of a page and retrieve previous content. Versions allow teams to review changes over time and restore earlier drafts. - name: Pages description: Rich text pages organized in a Doc hierarchy. Root pages (Docs) support public sharing and permission management. Child pages inherit from their parent Doc. Pages support custom fields, edit history, and inline discussions. - name: Passwords description: |- Manage **user password changes and resets**. These endpoints handle credential update flows for authenticated users and support administrative password reset operations. Password changes require the current password or a valid reset token. - name: Payment reminder sequences description: |- The Payment reminder sequence object represents payment reminder templates. You can find out more about them in our Help documentation: [Invoice Payment Reminders](https://help.productive.io/en/articles/7907557-invoice-payment-reminders). Following diagram shows Payment reminder sequences in our data hierarchy: ```d2 ...@template # template cant import globs just yet *: { class: default } # Define actors payment_reminder_sequence: Payment Reminder Sequence { class: primary } payment_reminder1: Payment Reminder payment_reminder2: Payment Reminder payment_reminder3: Payment Reminder # Define connections payment_reminder_sequence -> payment_reminder1 payment_reminder_sequence -> payment_reminder2 payment_reminder_sequence -> payment_reminder3 ``` - name: Payments description: |- The Payment object represents an invoice payment in invoicing system. You can find out more about payments in our Help documentation: [Recording Payments](https://help.productive.io/en/articles/2179635-recording-payments). Following diagram shows payments in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors invoice: Invoice payment1: Payment { class: primary } payment2: Payment { class: primary } invoice -> payment1 invoice -> payment2 ``` - name: People description: For more details on how to work with custom fields please refer to [Working with custom fields](https://developer.productive.io/working_with_custom_fields.html#working_with_custom_fields) guide. - name: Permission Sets description: | The Permission Set object represents a set of permissions that can be assigned to a user. You can find out more about permission sets in our Help documentation: [Permission Sets](https://help.productive.io/en/articles/8517221-permission-builder) - name: Pipelines description: |- For more details about pipelines and how to use them with deal statuses, please refer to the [help article](https://help.productive.io/en/articles/2179572-setting-up-your-sales-pipelines). Pipelines serve as a tool for grouping deal statuses (i.e. folders for better organisation of sales phases). Following depicts the Pipeline entity relationship diagram: ```d2 ...@template *: { class: default } # Define actors deal_status_1: Deal Status 1 deal_status_2: Deal Status 2 deal_status_3: Deal Status 3 deal_status_4: Deal Status 4 pipeline_1: Sales Pipeline { class: primary } pipeline_2: Another Pipeline { class: primary } pipeline_1 -> deal_status_1 pipeline_1 -> deal_status_2 pipeline_2 -> deal_status_3 pipeline_2 -> deal_status_4 ``` - name: Placeholder Usages description: |- **Placeholder usages** track how a placeholder's allocated capacity is distributed across projects and time periods. Query usages to understand utilization of unfilled resource slots and identify over- or under-allocated placeholders in your resource plan. - name: Placeholders description: |- **Placeholders** are unnamed resource slots used in capacity planning before a specific person is assigned. They represent a role, skill, or headcount requirement on a project — allowing teams to schedule capacity without committing to a named individual. Placeholders can be converted to real person assignments once staffing decisions are made. - name: Prices description: Rate card line items with billing configuration. Each price belongs to a rate card and defines a service type, billing type (hourly, fixed, etc.), unit, rate, and optional tracking defaults. Supports discounts, markups, budget caps, and custom fields. - name: Project Assignments description: |- **Project assignments** link people to projects, granting access and [Memberships](openapi:group:memberships). They determine which projects appear in a person's task lists and time tracking views. Manage assignments to control team composition and project visibility across your organization. - name: Projects description: |- For more details on how to work with custom fields please refer to [Working with custom fields](https://developer.productive.io/working_with_custom_fields.html#working_with_custom_fields) guide. > Note: For archived projects, only the `name` and `project_manager_id` attributes can be updated. All other attributes will be ignored during update operations. - name: Proposals description: |- **Proposals** are sales quotes attached to deals, presenting scope and pricing for client review and e-signature. A proposal mirrors the deal's sections and services in a client-facing layout with a pricing breakdown and acceptance workflow. Track proposal status, send for signing, and record approvals through these endpoints. - name: Pulses description: |- A Pulse is an automated report delivery service that makes it easy to stay updated without having to manually check your reports. You can set up Pulses for any of your reports, choosing how often you’d like to receive them — whether it's daily, weekly, bi-weekly, or monthly. This way, important data arrives straight to your inbox or Slack, keeping you informed at your preferred schedule. Email recipients are managed in two ways: - Memberships: link existing Productive users or teams to a pulse (done via the [memberships endpoint](https://developer.productive.io/memberships.html#memberships)). - `recipients` attribute: specify additional email addresses that are not linked to any user in the app. More about Pulses in our [help center](https://help.productive.io/en/articles/5178713-using-pulse-to-automate-your-reports) - name: Purchase Orders description: |- In Productive purchase orders are documents that serve as a buyer's request to a seller to order goods or services. You can find out more about purchase orders in our Help documentation: [Purchase Orders](https://help.productive.io/en/articles/8266926-purchase-orders) Purchase Orders always belong to a budget and a vendor (seller). They can have multiple expenses, bills and bill items. Following diagram shows services in our data hierarchy: ```d2 ...@template *: { class: default } # Define actors budget: Budget purchase_order: Purchase Order { class: primary } expense: Expense bill: Bill bill_item: Bill Item # define connections budget -> purchase_order -> expense -> bill_item purchase_order -> bill -> bill_item ``` The enumeration `status_id` can be: - 1 (Draft) - 2 (Finalized) The enumeration `payment_status_id` can be: - 1 (Not received) - 2 (Partially received) - 3 (Fully received) - name: Purchase Orders - Bulk description: Bulk update and delete operations on purchase orders. - name: Rate cards description: Price lists for services. Rate cards define company-wide or client-specific pricing templates. Each rate card contains prices for service types with billing configuration. Client-specific rate cards override defaults for that company. - name: Report Category description: 'Report categories help you organize and categorize your reports. You can assign each category a unique name and color code, making it easier to navigate through and manage your saved reports. This visual organization allows you to quickly find the reports you need and keep your workspace more streamlined. ' - name: Reports description: |- **Reports** provide aggregated, filtered views of time, financial, and project data across the organization — budget summaries, resource utilization, time entry totals, and financial KPIs. Use report endpoints to query data by date range and grouping. Reports power the analytics and business intelligence views in Productive. - name: Resource Requests description: Operations for managing resource requests — requests to allocate or hire resources for a project service. - name: Revenue Distributions description: |- **Revenue distributions** define how recognized revenue is allocated across time periods for a service, supporting accrual-based revenue recognition. Configure and query revenue schedules — specifying what portion of a service's value is recognized in each period — for accurate financial reporting. - name: Salaries description: |- For more details on salaries (also called cost rates) please refer to the [help article](https://help.productive.io/en/articles/2179644-understanding-and-setting-up-cost-rates-in-productive). The cost rate object represents invidual's cost rate defined for a certain period of time. A person can have multiple cost rates, however they cannot overlap in time. Cost rates can be defined for various period of times, such as hourly, monthly, etc. Note that different periods affect overheads differently (see the help article). For defining persons' cost rates specific to deals and budgets, please refer to [deal cost rates](https://developer.productive.io/deal_cost_rates.html#deal-cost-rates). Please note that we rate limit PATCH and POST api requests for editing salaries to 30 requests per two minutes. - name: Sections description: |- **Sections** group services within a deal or budget — typically organized by phase, deliverable type, or billing period. They provide structure for complex budgets and are reflected in proposals, invoices, and financial reporting. A deal or budget can have multiple sections, each containing one or more services. - name: Service Assignments description: |- To restrict time tracking & expense logging, there is an option to assign specific people to specific services. After enabling "Restricted by person" option on a budget, services with no one assigned will ignore this restriction, until you assign someone. For more details about how to achieve that, please refer to the [help article](https://help.productive.io/en/articles/6202423-restricting-time-tracking-and-expense-logging-in-productive#h_a5e53cc9b0). ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors person: Person service: Service service_assignment: ServiceAssignment { class: primary } # define connections service_assignment <- person service_assignment <- service ``` - name: Service Type Assignments description: |- Service type assignments are tightly coupled with service types. For more details about what service types are, please refer to the [help article](https://help.productive.io/en/articles/2179629-service-types-building-blocks-of-your-budget). Assignments are described under the [Assigning People to Service Types](https://help.productive.io/en/articles/2179629-service-types-building-blocks-of-your-budget?q=service+type+assignment#h_01af697e91). To set everything up, here is [additional help article](https://help.productive.io/en/articles/6202423-restricting-time-tracking-and-expense-logging-in-productive#h_48e1951cc5). Assignments are optional, but after assigning someone to specific service types and restricting time tracking by service type in the budget, you are ensuring that this person can only log their hours against assigned services categorized under assigned types. ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors person: Person service_type: ServiceType service_type_assignment: ServiceTypeAssignment { class: primary } # define connections service_type_assignment <- person service_type_assignment <- service_type ``` - name: Service Types description: |- For more details about what service types are, please refer to the [help article](https://help.productive.io/en/articles/2179629-service-types-building-blocks-of-your-budget). The service type object represents one category or type for a service your company offers. This categorization helps in organizing your workflows, time tracking and analyzing profitability. Following diagram shows service types in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors person: Person service_type: ServiceType { class: primary } service_type_assignment: ServiceTypeAssignment # define connections person -> service_type_assignment service_type -> service_type_assignment ``` - name: Services description: |- **Services** are line items on a deal or budget that define the scope, pricing, and tracking for a deliverable. Each service specifies a billing type (`fixed_fee`, `hourly`, or `days`), a budget amount, and links time tracking to invoicing. Services can have **per-person assignments** that restrict who can log time against them. - name: Sessions description: "**Sessions** represent authenticated login sessions for users accessing Productive." - name: Subsidiaries description: |- ### Subsidiary Tax ID The Tax ID displayed in **Settings → Company info → Edit Subsidiary** can be retrieved through the API via the related bill_from contact entry by calling: `GET /api/v2/subsidiaries/{id}?include=bill_from` The Tax ID is returned in the included section, inside the contact_entries object, where type is bill_from, under the `vat` attribute. - name: Survey Field Options description: Selectable options for dropdown and multi-select survey fields. Each option has a label and position for ordering in the dropdown. - name: Survey Fields description: Form fields on a survey. Each field has a data type (text, number, date, dropdown, checkbox, file) and optional configuration. Dropdown and multi-select fields have selectable options managed via survey_field_options. - name: Survey Responses description: Submitted survey responses. Each response links to a survey and contains field values for each survey field. Responses can trigger automations on submission. - name: Surveys description: Project forms for structured data collection. Surveys can trigger automations on submission, making them useful for intake forms, onboarding workflows, and status updates. Supports custom fields for form fields. - name: Tags description: |- **Tags** are labels applied to tasks and other resources for categorization and filtering. Create and manage the tag definitions available in your organization, then attach them to records to enable tag-based search and reporting. - name: Task Lists description: |- The Task list object represents a task list within the project management system. It sits between Folders and Tasks, meaning it belongs to a folder and contains multiple tasks. You can find out more about task lists in our Help documentation: [Task lists](https://help.productive.io/en/articles/2179617-task-lists) Following diagram shows task lists in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors project: Project folder: Folder task_list: Task list { class: primary } task: Task comments: Comments subtasks: Subtasks todos: Todos # define connections project -> folder -> task_list -> task task -> comments task -> subtasks task -> todos ``` - name: TaskDependency description: |- **Task dependencies** define ordering relationships between tasks: blocking, waiting on, or linked. Create and remove dependency links to enforce task sequencing. Dependencies are reflected in Gantt charts and can prevent downstream tasks from starting until blockers are resolved. - name: Tasks description: |- For more details on how to work with custom fields please refer to [Working with custom fields](https://developer.productive.io/working_with_custom_fields.html#working_with_custom_fields) guide. The Task object represents a task within the project management system. You can find out more about tasks in our Help documentation: [Tasks and task lists](https://help.productive.io/en/collections/38789-tasks-and-task-lists) Task can be one of two types: - milestone - task Following diagram shows tasks in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors project: Project folder: Folder task_list: Task list task: Task { class: primary } comments: Comments subtasks: Subtasks todos: Todos # define connections project -> folder -> task_list -> task task -> comments task -> subtasks task -> todos ``` For Task dependencies please refer to [TaskDependency endpoint](https://developer.productive.io/taskdependency.html#taskdependency) documentation - name: TaxRates description: |- The Tax rate object represents tax data in the invoicing system. You can find out more about tax rates in our Help documentation: [Setting up and Managing Tax Rates in Invoicing](https://help.productive.io/en/articles/9374894-setting-up-and-managing-tax-rates-in-invoicing). Following diagram shows tax rates in our data hierarchy: ```d2 ...@template # template cant import globs just yet * { class: default } # Define actors subsidiary1: Subsidiary line_item1: Line Item line_item2: Line Item line_item3: Line Item tax_rate1: Tax Rate { class: primary } tax_rate2: Tax Rate { class: primary } # Define connections subsidiary1 -> tax_rate1 -> line_item1 subsidiary1 -> tax_rate2 -> line_item2 tax_rate2 -> line_item3 ``` - name: Team Memberships description: Person-team links. Each membership adds a person to a team. Teams are used for access control on projects and other resources, and for reporting groupings. - name: Teams description: Named groups of people used for reporting and access control. Teams can be granted access to projects and other resources via memberships. Each team has a list of member people. - name: Templates description: Reusable starting points for projects, budgets, deals, and pages. Each template wraps a real entity (its `target`) created with template semantics; the `target_type` discriminator determines the per-target shape required when creating a new template. - name: Time Entries description: |- Time entry object represents spent time for a person. Time can be spent tracking on a service or on a time off event. When tracked on a service, time entry can also belong to a task. When time entry belongs to a task, time tracked on time entry represents task worked time and will decrease time to complete on the task. Time entry can represent: - Worked hours (without start and end time) - Worked time period (with start and end time) - in a form of a timer. More on timers [here](https://developer.productive.io/timers.html#timers). Following diagram shows time entries in our data hierarchy: ```d2 ...@template # template cant import globs just yet *: { class: default } # Define actors service: Service task: Task time_entry: Time Entry { class: primary } timer: Timer # define connections service -> time_entry task -> time_entry: { style: { stroke-dash: 3 multiple: true } } time_entry -> timer ``` You can find out more about Time entries in our Help documentation for [My Time](https://help.productive.io/en/articles/2179597-my-time) - name: Time Entries - Bulk description: "The Time Entries Bulk endpoint enables efficient management of multiple time entries simultaneously. \nThis API provides bulk operations for creating, updating, deleting, and managing approval state for time entries." - name: Time Entry Versions description: "Time entry versions store the history of changes on a time entry.\n\nTime entry versions are automatically created on every time entry create, update or delete event.\n\nTime entry version tracks the event that triggered its creation. This event can be: \n- create\n- update\n- delete\n- restore\n- approve\n- unapprove\n- reject\n- unreject\n\n```d2\n...@template\n# template cant import globs just yet\n*: {\n class: default\n}\n\n# Define actors\ntime_entry: Time Entry\ntime_entry_version: Time entry version {\n class: primary\n style: {\n multiple: true\n }\n}\n\n# define connections\ntime_entry -> time_entry_version\n```" - name: Time Tracking Policies description: |- **Time tracking policies** define rules governing how and when time entries can be logged — restricting tracking to specific services, enforcing duration limits, or requiring prior approval. Policies are assigned to people or projects to ensure time tracking compliance across teams. - name: Timers description: "Timer is an object belonging to a Time Entry.\n\nTimer represents one time tracking sessions (on a time entry) and keeps track when a session was started and when it was stopped.\n\nTimer object gets created when a person starts a timer.\n\nCreating a Timer is possible (on API) providing either time_entry_id or service_id in parameters. \n- When providing time_entry_id, a Timer object will be related to provided Time Entry. \n- When providing service_id, new Time Entry belonging to provided Service will be created and a Timer will belong to it.\n\n```d2\n...@template\n# template cant import globs just yet\n*: {\n class: default\n}\n\n# Define actors\nservice: Service\ntask: Task\ntime_entry: Time Entry\ntimer: Timer {\n class: primary\n}\n\n# define connections\nservice -> time_entry\ntask -> time_entry: {\n style: {\n stroke-dash: 3\n multiple: true\n }\n}\ntime_entry -> timer\n```\n\nYou can find out more about Timers in our [Help documentation] (https://help.productive.io/en/articles/3903111-timer)" - name: Timesheets description: |- **Timesheets** aggregate a person's time entries by day and are the unit of submission in the time approval workflow. Manage daily timesheet submissions, track approval status, and retrieve timesheet data by person or date range. Timesheets move through `draft` → `submitted` → `approved` / `rejected` states. - name: Todos description: "A to-do is a component of a task that requires completion and can be assigned to an individual. \n\nOnce to-do is assigned, task appears in the assignee's list of assigned tasks. \n\nThere's no cap on the number of to-dos a single task can include. \n\nTo-dos can be either open or closed.\n\n```d2\n...@template\n# template cant import globs just yet\n* {\n class: default\n}\n\n# Define actors\nproject: Project\nfolder: Folder\ntask_list: Task list\ntask: Task\ncomments: Comments\nsubtasks: Subtasks\ntodos: Todos {\n class: primary\n}\n\n# define connections\nproject -> folder -> task_list -> task\ntask -> comments\ntask -> subtasks\ntask -> todos\n```\n\nYou can find out more about To-dos in our [Help documentation] (https://help.productive.io/en/articles/4097412-task-to-do)" - name: Users description: |- **User accounts** for people who log into Productive. Manage credentials, preferences, and authentication settings. Each user is linked to one or more **organization memberships** that control their access level and permissions across the platform. - name: Webhook Logs description: The Webhook Log object represents a record of an unsuccessful webhook delivery attempt. When a webhook fails to deliver, a log is created with details about the failure. - name: Webhooks description: |- For more details on webhooks please refer to the [help article](https://help.productive.io/en/articles/3693279-using-webhooks-in-productive). The Webhook object enables real-time notifications for events occurring in Productive. - name: Widgets description: |- The Widget object represents the fundamental dynamic component of the Dashboard system. These customizable blocks provide various filtering options, allowing you to effortlessly organize all essential information in one place. You can find out more about widgets in our Help documentation for Dashboards under section: [Widgets](https://help.productive.io/en/articles/6423123-dashboards#h_231c96112f) - name: Workflow Statuses description: |- The Workflow Status object represents the current state of a task, enabling users to define and monitor task stages. Every Workflow can have multiple Workflow statuses. There are three Workflow status categories: - not_started - started - closed - name: Workflows description: |- The Workflow object enables organizing tasks into distinct phases or stages, each with its own set of statuses. This allows tracking the progress of tasks from initiation to completion. You can learn more about Workflows in our Help documentation: [Workflows](https://help.productive.io/en/articles/5813154-workflows) paths: "/api/v2/users/{id}": get: tags: - Users summary: Gets a user responses: '404': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Not Found '200': "$ref": "#/components/responses/single_user" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: users-show description: Retrieve a single user by ID. patch: tags: - Users summary: Update a user responses: '200': "$ref": "#/components/responses/single_user" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: users-update requestBody: "$ref": "#/components/requestBodies/user" description: Update a user. "/api/v2/bank_accounts": post: tags: - BankAccounts summary: Create a bank account responses: '201': "$ref": "#/components/responses/single_bank_account" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden parameters: - "$ref": "#/components/parameters/header_organization" operationId: bank_accounts-create requestBody: "$ref": "#/components/requestBodies/bank_account" description: Create a new bank account. get: tags: - BankAccounts summary: Get bank accounts responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/collection_bank_account" parameters: - "$ref": "#/components/parameters/filter_bank_account" - "$ref": "#/components/parameters/sort_bank_account" - "$ref": "#/components/parameters/header_organization" operationId: bank_accounts-index description: List bank accounts with optional filters and pagination. "/api/v2/time_tracking_policies": get: tags: - Time Tracking Policies summary: Get time tracking policies responses: '200': "$ref": "#/components/responses/collection_time_tracking_policy" parameters: - "$ref": "#/components/parameters/filter_time_tracking_policy" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_time_tracking_policy" operationId: time_tracking_policies-index description: List all time tracking policies. post: tags: - Time Tracking Policies summary: Create a time tracking policy responses: '201': "$ref": "#/components/responses/single_time_tracking_policy" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: time_tracking_policies-create requestBody: "$ref": "#/components/requestBodies/time_tracking_policy" description: Create a new time tracking policy. "/api/v2/holidays/{id}": delete: tags: - Holidays summary: Deletes a holiday responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: holidays-destroy description: Delete a holiday. get: tags: - Holidays summary: Get a holiday responses: '200': "$ref": "#/components/responses/single_holiday" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: holidays-show description: Retrieve a single holiday. patch: tags: - Holidays summary: Update a holiday responses: '200': "$ref": "#/components/responses/single_holiday" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: holidays-update requestBody: "$ref": "#/components/requestBodies/holiday" description: Update a holiday. "/api/v2/automatic_invoicing_rules/{id}": get: tags: - Automatic Invoicing Rules summary: Gets an automatic invoicing rule responses: '200': "$ref": "#/components/responses/single_automatic_invoicing_rule" parameters: - in: path name: id schema: type: string required: true description: The ID of the automatic invoicing rule to retrieve. - "$ref": "#/components/parameters/header_organization" operationId: automatic_invoicing_rules-show description: Retrieve a single automatic invoicing rule by ID. delete: tags: - Automatic Invoicing Rules summary: Deletes an automatic invoicing rule responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the automatic invoicing rule to delete. operationId: automatic_invoicing_rules-destroy description: Delete an automatic invoicing rule. patch: tags: - Automatic Invoicing Rules summary: Update an automatic invoicing rule responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_automatic_invoicing_rule" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the automatic invoicing rule to update. operationId: automatic_invoicing_rules-update requestBody: "$ref": "#/components/requestBodies/automatic_invoicing_rule" description: Update an automatic invoicing rule. "/api/v2/organizations/{id}": patch: tags: - Organizations summary: Update an organization responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_organization" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: organizations-update requestBody: "$ref": "#/components/requestBodies/organization" description: Update an organization. get: tags: - Organizations summary: Get an organization responses: '200': "$ref": "#/components/responses/single_organization" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: organizations-show description: Retrieve a single organization. delete: tags: - Organizations summary: Delete an organization responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: organizations-destroy description: Delete an organization. "/api/v2/dashboards/copy": post: tags: - Dashboards summary: Copy a dashboard responses: '200': "$ref": "#/components/responses/single_dashboard" '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created parameters: - "$ref": "#/components/parameters/header_organization" operationId: dashboards-copy-copy description: Copy a dashboard. "/api/v2/page_versions/{id}": patch: tags: - PageVersions summary: Update a page_version responses: '200': "$ref": "#/components/responses/single_page_version" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: page_versions-update requestBody: "$ref": "#/components/requestBodies/page_version" description: Restore a page to a specific version. get: tags: - PageVersions summary: Gets a page_version responses: '200': "$ref": "#/components/responses/single_page_version" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: page_versions-show description: Retrieve a single page version. "/api/v2/service_assignments/{id}": get: tags: - Service Assignments summary: Gets a service assignment responses: '200': "$ref": "#/components/responses/single_service_assignment" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: service_assignments-show description: Retrieve a single service assignment by ID. delete: tags: - Service Assignments summary: Deletes a service assignment responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: service_assignments-destroy description: Delete a service assignment by ID. patch: tags: - Service Assignments summary: Update a service assignment responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_service_assignment" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: service_assignments-update requestBody: "$ref": "#/components/requestBodies/service_assignment" description: Update a service assignment. "/api/v2/deals/{id}": delete: tags: - Deals summary: Deletes a deal responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: deals-destroy description: Delete a deal. patch: tags: - Deals summary: Update a deal responses: '200': "$ref": "#/components/responses/single_deal" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: deals-update requestBody: "$ref": "#/components/requestBodies/deal" description: Update a deal's attributes or relationships. get: tags: - Deals summary: Gets a deal responses: '200': "$ref": "#/components/responses/single_deal" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: deals-show description: Retrieve a single deal by ID. "/api/v2/bookings/{id}": patch: tags: - Bookings summary: Update a booking responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_booking" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: bookings-update requestBody: "$ref": "#/components/requestBodies/booking" description: Update a booking. delete: tags: - Bookings summary: Deletes a booking responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: bookings-destroy description: Delete a booking. get: tags: - Bookings summary: Gets a booking responses: '200': "$ref": "#/components/responses/single_booking" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: bookings-show description: Retrieve a single booking by ID. "/api/v2/folders/{id}": get: tags: - Folders summary: Gets a folder responses: '200': "$ref": "#/components/responses/single_folder" parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the folder. - "$ref": "#/components/parameters/header_organization" operationId: folders-show description: Returns a single folder by ID. patch: tags: - Folders summary: Update a folder responses: '200': "$ref": "#/components/responses/single_folder" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: The folder could not be updated due to validation errors. parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the folder. - "$ref": "#/components/parameters/header_organization" operationId: folders-update requestBody: "$ref": "#/components/requestBodies/folder_update" description: Updates a folder. Only the provided attributes are modified — rename it or toggle its visibility via `hidden`. To move a folder to a **different project** (which reassigns its task lists and tasks and remaps workflow statuses), use [`PATCH /folders/{id}/move`](#tag/Folders/operation/folders-move-move) instead. "/api/v2/dashboards": get: tags: - Dashboards summary: Get all dashboards responses: '200': "$ref": "#/components/responses/collection_dashboard" parameters: - "$ref": "#/components/parameters/sort_dashboard" - "$ref": "#/components/parameters/filter_dashboard" - "$ref": "#/components/parameters/header_organization" operationId: dashboards-index description: List dashboards with optional filters and pagination. post: tags: - Dashboards summary: Create a dashboard responses: '201': "$ref": "#/components/responses/single_dashboard" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: dashboards-create requestBody: "$ref": "#/components/requestBodies/dashboard" description: Create a new dashboard. "/api/v2/task_lists/{id}/restore": patch: tags: - Task Lists summary: Restores a task list responses: '200': "$ref": "#/components/responses/single_task_list" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: task_lists-restore-restore description: Restores an archived task list back to active status. "/api/v2/tasks/{id}": get: tags: - Tasks summary: Gets a task responses: '200': "$ref": "#/components/responses/single_task" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: tasks-show description: Returns a single task by ID. patch: tags: - Tasks summary: Update a task responses: '200': "$ref": "#/components/responses/single_task" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: tasks-update requestBody: "$ref": "#/components/requestBodies/task_update" description: "Updates a task. Only the provided attributes are modified — rename it via `title`, change its workflow status via `workflow_status_id`, reassign via `assignee_id`, toggle `private`, or move it to a different task list via `task_list_id`. \nTo reorder the task within its task list, use [`PATCH /tasks/{id}/reposition`](#tag/Tasks/operation/tasks-reposition-reposition). \nTo shift the task and its blocking dependent tasks by working days, use [`PATCH /tasks/{id}/move_dependent`](#tag/Tasks/operation/tasks-move-dependent-move-dependent)." delete: tags: - Tasks summary: Deletes a task responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: tasks-destroy description: Permanently deletes a task by ID. "/api/v2/payments/{id}": get: tags: - Payments summary: Gets a payment responses: '200': "$ref": "#/components/responses/single_payment" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: payments-show description: Retrieve a single payment by ID. delete: tags: - Payments summary: Deletes a payment responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: payments-destroy description: Delete a payment by ID. patch: tags: - Payments summary: Update a payment responses: '200': "$ref": "#/components/responses/single_payment" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: payments-update requestBody: "$ref": "#/components/requestBodies/payment" description: Update a payment. "/api/v2/custom_fields/{id}": patch: tags: - Custom Fields summary: Updates a custom field responses: '200': "$ref": "#/components/responses/single_custom_field" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: custom_fields-update requestBody: "$ref": "#/components/requestBodies/custom_field" description: Update a custom field. get: tags: - Custom Fields summary: Gets a custom field responses: '200': "$ref": "#/components/responses/single_custom_field" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: custom_fields-show description: Retrieve a single custom field by ID. "/api/v2/custom_field_sections": get: tags: - Custom Field Section summary: Get custom field sections responses: '200': "$ref": "#/components/responses/collection_custom_field_section" parameters: - "$ref": "#/components/parameters/sort_custom_field_section" - "$ref": "#/components/parameters/filter_custom_field_section" - "$ref": "#/components/parameters/header_organization" operationId: custom_field_sections-index description: List custom field sections with optional filters and pagination. post: tags: - Custom Field Section summary: Creates the custom field section responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_custom_field_section" parameters: - "$ref": "#/components/parameters/header_organization" operationId: custom_field_sections-create requestBody: "$ref": "#/components/requestBodies/custom_field_section" description: Create a new custom field section. "/api/v2/emails/{id}": get: tags: - Emails summary: Get an email responses: '200': "$ref": "#/components/responses/single_email" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: emails-show description: Retrieve a single email. delete: tags: - Emails summary: Delete an email responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: emails-destroy description: Delete an email. "/api/v2/pipelines/{id}": patch: tags: - Pipelines summary: Update a pipeline responses: '200': "$ref": "#/components/responses/single_pipeline" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: pipelines-update requestBody: "$ref": "#/components/requestBodies/pipeline" description: Update a pipeline. get: tags: - Pipelines summary: Gets a pipeline responses: '200': "$ref": "#/components/responses/single_pipeline" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: pipelines-show description: Retrieve a single pipeline by ID. delete: tags: - Pipelines summary: Deletes a pipeline responses: '204': description: No Content '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: pipelines-destroy description: Delete a pipeline by ID. "/api/v2/subsidiaries/{id}/archive": patch: tags: - Subsidiaries summary: Archives a subsidiary responses: '200': "$ref": "#/components/responses/single_subsidiary" '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: subsidiaries-archive-archive description: Archive a subsidiary to deactivate it. "/api/v2/folders/{id}/archive": patch: tags: - Folders summary: Archives a folder responses: '200': "$ref": "#/components/responses/single_folder" parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the folder. - "$ref": "#/components/parameters/header_organization" operationId: folders-archive-archive description: Archives a folder and all of its task lists, hiding them from active views. Reversible via [`/folders/{id}/restore`](#tag/Folders/operation/folders-restore-restore). "/api/v2/companies/{id}": get: tags: - Companies summary: Gets a company responses: '200': "$ref": "#/components/responses/single_company" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: companies-show description: Retrieve a single company by ID. patch: tags: - Companies summary: Update a company responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_company" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: companies-update requestBody: "$ref": "#/components/requestBodies/company" description: Update a company. "/api/v2/boards/{id}": patch: tags: - Boards summary: Update a board responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_board" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: boards-update requestBody: "$ref": "#/components/requestBodies/board" description: Update a board. get: tags: - Boards summary: Gets a board responses: '200': "$ref": "#/components/responses/single_board" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: boards-show description: Retrieve a single board by ID. "/api/v2/line_items": patch: tags: - Line Items - Bulk summary: Update line items responses: '200': "$ref": "#/components/responses/collection_line_item" parameters: - "$ref": "#/components/parameters/header_organization" operationId: line_items-update-bulk requestBody: "$ref": "#/components/requestBodies/line_item" delete: tags: - Line Items - Bulk summary: Delete line items responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" operationId: line_items-destroy-bulk post: tags: - Line Items - Bulk summary: Create line items responses: '201': "$ref": "#/components/responses/single_line_item" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: line_items-create-bulk requestBody: "$ref": "#/components/requestBodies/line_item" description: Create a new line item. get: tags: - Line Items summary: Get line items responses: '200': "$ref": "#/components/responses/collection_line_item" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_line_item" - "$ref": "#/components/parameters/sort_line_item" operationId: line_items-index description: List line items. "/api/v2/survey_responses/{id}": get: tags: - Survey Responses summary: Gets a survey response responses: '200': "$ref": "#/components/responses/single_survey_response" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the survey response to retrieve. operationId: survey_responses-show description: Retrieve a single survey response by ID. delete: tags: - Survey Responses summary: Deletes a survey response responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: The ID of the survey response to delete. - "$ref": "#/components/parameters/header_organization" operationId: survey_responses-destroy description: Delete a survey response by ID. "/api/v2/contact_entries": post: tags: - Contact Entries summary: Create a contact entry responses: '201': "$ref": "#/components/responses/single_contact_entry" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: contact_entries-create requestBody: "$ref": "#/components/requestBodies/contact_entry" description: Create a new contact entry. get: tags: - Contact Entries summary: Get contact entries responses: '200': "$ref": "#/components/responses/collection_contact_entry" parameters: - "$ref": "#/components/parameters/sort_contact_entry" - "$ref": "#/components/parameters/filter_contact_entry" - "$ref": "#/components/parameters/header_organization" operationId: contact_entries-index description: List contact entries with optional filters and pagination. "/api/v2/invoice_attributions": get: tags: - Invoice Attributions summary: Get invoice attributions responses: '200': "$ref": "#/components/responses/collection_invoice_attribution" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_invoice_attribution" - "$ref": "#/components/parameters/sort_invoice_attribution" operationId: invoice_attributions-index description: List invoice attributions. post: tags: - Invoice Attributions summary: Create an invoice attribution responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_invoice_attribution" parameters: - "$ref": "#/components/parameters/header_organization" operationId: invoice_attributions-create requestBody: "$ref": "#/components/requestBodies/invoice_attribution" description: Create a new invoice attribution. "/api/v2/sessions": post: tags: - Sessions summary: Create a session responses: '201': "$ref": "#/components/responses/single_session" '401': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unauthorized parameters: - "$ref": "#/components/parameters/header_organization" operationId: sessions-create requestBody: "$ref": "#/components/requestBodies/session" description: Create a new session (sign in). get: tags: - Sessions summary: Get all sessions responses: '200': "$ref": "#/components/responses/collection_session" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_session" - "$ref": "#/components/parameters/filter_session" operationId: sessions-index description: List all active sessions. "/api/v2/events/{id}": delete: tags: - Events summary: Deletes an event responses: '204': description: No Content '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: events-destroy description: Delete an event. get: tags: - Events summary: Get an event responses: '200': "$ref": "#/components/responses/single_event" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: events-show description: Retrieve a single event. patch: tags: - Events summary: Update an event responses: '200': "$ref": "#/components/responses/single_event" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: events-update requestBody: "$ref": "#/components/requestBodies/event" description: Update an event. "/api/v2/project_assignments/{id}": delete: tags: - Project Assignments summary: Deletes a project assignment responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: project_assignments-destroy description: Delete a project assignment by ID. get: tags: - Project Assignments summary: Gets a project assignment responses: '200': "$ref": "#/components/responses/single_project_assignment" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: project_assignments-show description: Retrieve a single project assignment by ID. patch: tags: - Project Assignments summary: Update a project assignment responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_project_assignment" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: project_assignments-update requestBody: "$ref": "#/components/requestBodies/project_assignment" description: Update a project assignment. "/api/v2/filters": post: tags: - Filters summary: Create a filter responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_filter" parameters: - "$ref": "#/components/parameters/header_organization" operationId: filters-create requestBody: "$ref": "#/components/requestBodies/filter" description: Create a new filter. get: tags: - Filters summary: Get filters responses: '200': "$ref": "#/components/responses/collection_filter" parameters: - "$ref": "#/components/parameters/sort_filter" - "$ref": "#/components/parameters/filter_filter" - "$ref": "#/components/parameters/header_organization" operationId: filters-index description: List filters. "/api/v2/bills/{id}": delete: tags: - Bills summary: Deletes a bill responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: bills-destroy description: Delete a bill. patch: tags: - Bills summary: Update a bill responses: '200': "$ref": "#/components/responses/single_bill" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: bills-update requestBody: "$ref": "#/components/requestBodies/bill" description: Update a bill. get: tags: - Bills summary: Gets a bill responses: '200': "$ref": "#/components/responses/single_bill" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: bills-show description: Retrieve a single bill by ID. "/api/v2/approval_workflows/{id}": get: tags: - Approval Workflow summary: Gets the approval workflow responses: '200': "$ref": "#/components/responses/single_approval_workflow" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: approval_workflows-show description: Retrieve a single approval workflow by ID. delete: tags: - Approval Workflow summary: Deletes the approval workflow responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: approval_workflows-destroy description: Delete an approval workflow. patch: tags: - Approval Workflow summary: Updates the approval workflow responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_approval_workflow" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: approval_workflows-update requestBody: "$ref": "#/components/requestBodies/approval_workflow" description: Update an approval workflow. "/api/v2/invoices/{id}/finalize": patch: tags: - Invoices summary: Finalizes an invoice responses: '200': "$ref": "#/components/responses/single_invoice" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: invoices-finalize-finalize description: Finalize a draft invoice. "/api/v2/task_lists/{id}/reposition": patch: tags: - Task Lists summary: Repositions a task list responses: '200': "$ref": "#/components/responses/single_task_list" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: task_lists-reposition-reposition requestBody: "$ref": "#/components/requestBodies/task_list_reposition" description: |- Reorders a task list among the other task lists in its project. Pass `move_before_id` and/or `move_after_id` — the IDs of the task lists to position it relative to. When both are provided, the task list is placed between them. ```json { "data": { "type": "task_lists", "attributes": { "move_after_id": 7740 } } } ``` "/api/v2/report_categories": get: tags: - Report Category summary: Get report categories responses: '200': "$ref": "#/components/responses/collection_report_category" parameters: - "$ref": "#/components/parameters/sort_report_category" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_report_category" operationId: report_categories-index description: List all report categories. post: tags: - Report Category summary: Create a report category responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_report_category" parameters: - "$ref": "#/components/parameters/header_organization" operationId: report_categories-create requestBody: "$ref": "#/components/requestBodies/report_category" description: Create a new report category. "/api/v2/pulses/{id}/send": patch: tags: - Pulses summary: Send a pulse responses: '200': "$ref": "#/components/responses/single_pulse" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: pulses-send-send_pulse description: Send a pulse to recipients. "/api/v2/roles": post: tags: - Permission Sets summary: Create a permission set responses: '201': "$ref": "#/components/responses/single_role" parameters: - "$ref": "#/components/parameters/header_organization" operationId: roles-create requestBody: "$ref": "#/components/requestBodies/role" get: tags: - Permission Sets summary: Get permission sets responses: '200': "$ref": "#/components/responses/collection_role" parameters: - "$ref": "#/components/parameters/sort_role" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_role" operationId: roles-index description: List all roles. "/api/v2/overheads/{id}/recalculate": patch: tags: - Overheads summary: Recalculate an overhead responses: '200': "$ref": "#/components/responses/single_overhead" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: overheads-recalculate-recalculate description: Recalculate overhead costs for a period. "/api/v2/time_tracking_policies/{id}": delete: tags: - Time Tracking Policies summary: Deletes a time tracking policy responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the time tracking policy to delete. operationId: time_tracking_policies-destroy description: Delete a time tracking policy by ID. get: tags: - Time Tracking Policies summary: Gets a time tracking policy responses: '200': "$ref": "#/components/responses/single_time_tracking_policy" parameters: - in: path name: id schema: type: string required: true description: The ID of the time tracking policy to retrieve. - "$ref": "#/components/parameters/header_organization" operationId: time_tracking_policies-show description: Retrieve a single time tracking policy by ID. patch: tags: - Time Tracking Policies summary: Update a time tracking policy responses: '200': "$ref": "#/components/responses/single_time_tracking_policy" parameters: - in: path name: id schema: type: string required: true description: The ID of the time tracking policy to update. - "$ref": "#/components/parameters/header_organization" operationId: time_tracking_policies-update requestBody: "$ref": "#/components/requestBodies/time_tracking_policy" description: Update a time tracking policy. "/api/v2/deals/{id}/close": patch: tags: - Deals summary: Closes a deal responses: '200': "$ref": "#/components/responses/single_deal" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: deals-close-close description: Close a deal. "/api/v2/salaries": get: tags: - Salaries summary: Get salaries responses: '200': "$ref": "#/components/responses/collection_salary" parameters: - "$ref": "#/components/parameters/filter_salary" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_salary" operationId: salaries-index description: List all salaries. post: tags: - Salaries summary: Create a salary responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_salary" parameters: - "$ref": "#/components/parameters/header_organization" operationId: salaries-create requestBody: "$ref": "#/components/requestBodies/salary" description: Create a new salary. "/api/v2/time_entries/{id}/reject": patch: tags: - Time Entries summary: Reject a time entry responses: '200': "$ref": "#/components/responses/single_time_entry" '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: time_entries-reject-reject description: Reject a time entry. "/api/v2/salaries/{id}": get: tags: - Salaries summary: Gets a salary responses: '200': "$ref": "#/components/responses/single_salary" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: salaries-show description: Retrieve a single salary by ID. delete: tags: - Salaries summary: Deletes a salary responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: salaries-destroy description: Delete a salary by ID. patch: tags: - Salaries summary: Update a salary responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_salary" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: salaries-update requestBody: "$ref": "#/components/requestBodies/salary" description: Update a salary. "/api/v2/integration_exporter_configurations/{id}": get: tags: - Integration Exporter Configuration summary: Get integration exporter configuration responses: '200': "$ref": "#/components/responses/single_integration_exporter_configuration" parameters: - in: path name: id schema: type: string required: true description: The ID of the integration exporter configuration to retrieve. - "$ref": "#/components/parameters/header_organization" operationId: integration_exporter_configurations-show description: Retrieve a single integration exporter configuration. delete: tags: - Integration Exporter Configuration summary: Delete integration exporter configuration responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: The ID of the integration exporter configuration to delete. - "$ref": "#/components/parameters/header_organization" operationId: integration_exporter_configurations-destroy description: Delete an integration exporter configuration. patch: tags: - Integration Exporter Configuration summary: Update integration exporter configuration responses: '200': "$ref": "#/components/responses/single_integration_exporter_configuration" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the integration exporter configuration to update. operationId: integration_exporter_configurations-update requestBody: "$ref": "#/components/requestBodies/integration_exporter_configuration" description: Update an integration exporter configuration. "/api/v2/purchase_orders/{id}/send": patch: tags: - Purchase Orders summary: Sends a purchase order responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_purchase_order" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: purchase_orders-send-send_mail requestBody: "$ref": "#/components/requestBodies/purchase_order_send" description: Send a purchase order to a vendor. "/api/v2/attachments": get: tags: - Attachments summary: Get attachments responses: '200': "$ref": "#/components/responses/collection_attachment" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_attachment" - "$ref": "#/components/parameters/sort_attachment" operationId: attachments-index description: List attachments with optional filters and pagination. post: tags: - Attachments summary: Create an attachment responses: '201': "$ref": "#/components/responses/single_attachment" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: attachments-create requestBody: "$ref": "#/components/requestBodies/attachment" description: Create a new attachment. "/api/v2/projects/copy": post: tags: - Projects summary: Copies a project responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_project" parameters: - "$ref": "#/components/parameters/header_organization" operationId: projects-copy-copy requestBody: "$ref": "#/components/requestBodies/project_copy" description: |- Creates a new project by copying an existing **source project**. Use `copy_as_template: true` to mark the result as a project template. ### Copy flags All `copy_*` flags default to `false`. A flag with a prerequisite requires the listed parent flag(s) to also be enabled. | Flag(s) | Prerequisite | Notes | |---|---|---| | `copy_boards` | — | Required by `copy_task_lists` | | `copy_task_lists` | `copy_boards` | Required by `copy_open_tasks`, `copy_closed_tasks` | | `copy_open_tasks`, `copy_closed_tasks` | `copy_task_lists` | Required by per-task flags below | | `copy_memberships` | — | Required by `copy_assignees`, `copy_task_subscribers` | | `copy_assignees`, `copy_task_subscribers` | `copy_open_tasks` or `copy_closed_tasks` + `copy_memberships` | — | | `copy_task_comments`, `copy_task_attachments`, `copy_task_description`, `copy_tags`, `copy_due_date`, `copy_start_date`, `copy_repeat`, `copy_estimate` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_task_open_todos`, `copy_task_closed_todos`, `copy_task_open_subtasks`, `copy_task_closed_subtasks`, `copy_task_dependencies`, `copy_task_templates` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_views`, `copy_custom_fields`, `copy_notes`, `copy_dashboards`, `copy_surveys`, `copy_budgets` | — | Independent | | `copy_deals` | — | Forced to `false` for internal project types | | `copy_as_template` | — | Marks the result as a template (creates a linked `Template` record) | ### Save Project as Template (Productive web app defaults) The "Save as Template" UI sends `copy_as_template: true`. ```json { "data": { "type": "projects", "attributes": { "name": "Q4 marketing campaign template", "template_id": 123456, "project_type_id": 2, "project_manager_id": 42, "project_color_id": 5, "company_id": 999, "copy_as_template": true, "copy_memberships": true, // sharing "copy_boards": true, // folders "copy_views": true, "copy_custom_fields": true, "copy_dashboards": true, "copy_task_lists": true, "copy_open_tasks": true, "copy_closed_tasks": false, "copy_task_comments": true, "copy_task_subscribers": true, "copy_task_attachments": true, "copy_task_open_todos": true, "copy_task_closed_todos": false, "copy_task_open_subtasks": true, "copy_task_closed_subtasks": false, "copy_task_dependencies": true, "copy_task_description": true, "copy_assignees": true, "copy_tags": true, "copy_due_date": true, "copy_start_date": true, "copy_repeat": true, "copy_estimate": true, "copy_notes": true, // docs "copy_surveys": true, // forms "copy_task_templates": true } } } ``` ### Plain project copy Duplicate an existing project as a new working project. ```json { "data": { "type": "projects", "attributes": { "name": "Q4 marketing campaign — Acme", "template_id": 123456, "project_type_id": 2, "company_id": 999, "copy_boards": true, "copy_task_lists": true, "copy_open_tasks": true, "copy_task_comments": true, "copy_task_attachments": true, "copy_task_description": true, "copy_due_date": true, "copy_start_date": true, "copy_estimate": true, "copy_memberships": true, "copy_assignees": true, "copy_custom_fields": true, "copy_views": true, "copy_dashboards": true } } } ``` ### Minimal copy (structure only) Only the required attributes. All `copy_*` flags default to `false` — you get a new empty project with the source's metadata. ```json { "data": { "type": "projects", "attributes": { "name": "New empty internal project from source", "template_id": 123456, "project_type_id": 1 } } } ``` "/api/v2/people/{id}/restore": patch: tags: - People summary: Restore a person responses: '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: The person could not be restored due to validation errors. '200': "$ref": "#/components/responses/single_person" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: people-restore-restore description: Restore an archived person, making them active again. "/api/v2/reports/payroll_item_reports": get: tags: - Reports summary: Get payroll item reports responses: '200': "$ref": "#/components/responses/collection_payroll_item_report" parameters: - "$ref": "#/components/parameters/filter_payroll_item_report" - "$ref": "#/components/parameters/group_payroll_item_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_payroll_item_report" operationId: reports-payroll_item_reports-index description: Retrieve aggregated payroll item report data grouped by configurable dimensions. "/api/v2/companies/{id}/restore": patch: tags: - Companies summary: Restores a company responses: '200': "$ref": "#/components/responses/single_company" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: companies-restore-restore description: Restore a company. "/api/v2/document_types": get: tags: - Document Types summary: Get document_types responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/collection_document_type" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_document_type" - "$ref": "#/components/parameters/sort_document_type" operationId: document_types-index description: List document types. post: tags: - Document Types summary: Create a document_type responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '201': "$ref": "#/components/responses/single_document_type" parameters: - "$ref": "#/components/parameters/header_organization" operationId: document_types-create requestBody: "$ref": "#/components/requestBodies/document_type" description: Create a new document type. "/api/v2/rate_cards/{id}": patch: tags: - Rate cards summary: Update a price responses: '200': "$ref": "#/components/responses/single_rate_card" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: rate_cards-update requestBody: "$ref": "#/components/requestBodies/rate_card" description: Update a rate card. delete: tags: - Rate cards summary: Deletes a price responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: rate_cards-destroy description: Delete a rate card by ID. get: tags: - Rate cards summary: Gets a rate card responses: '200': "$ref": "#/components/responses/single_rate_card" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: rate_cards-show description: Retrieve a single rate card by ID. "/api/v2/projects/{id}/unsubscribe": patch: tags: - Projects summary: Unsubscribes from project responses: '200': "$ref": "#/components/responses/single_project" parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the project. - "$ref": "#/components/parameters/header_organization" operationId: projects-unsubscribe-unsubscribe description: Unsubscribes the current user from project notifications. "/api/v2/bank_accounts/{id}/restore": patch: tags: - BankAccounts summary: Restores an archived bank account responses: '200': "$ref": "#/components/responses/single_bank_account" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the bank account to restore. operationId: bank_accounts-restore-restore description: Restore a bank account. "/api/v2/holidays": post: tags: - Holidays summary: Create a holiday responses: '201': "$ref": "#/components/responses/single_holiday" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: holidays-create requestBody: "$ref": "#/components/requestBodies/holiday" description: Create a new holiday. get: tags: - Holidays summary: Get all holidays responses: '200': "$ref": "#/components/responses/collection_holiday" parameters: - "$ref": "#/components/parameters/filter_holiday" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_holiday" operationId: holidays-index description: List holidays. "/api/v2/timers/{id}/stop": patch: tags: - Timers summary: Stops a timer responses: '200': "$ref": "#/components/responses/single_timer" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: timers-stop-stop description: Stop a running timer. "/api/v2/lost_reasons/{id}/archive": patch: tags: - Lost Reasons summary: Archives a lost reason responses: '200': "$ref": "#/components/responses/single_lost_reason" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: lost_reasons-archive-archive description: Archive a lost reason. "/api/v2/approval_workflows": post: tags: - Approval Workflow summary: Creates the approval workflow responses: '201': "$ref": "#/components/responses/single_approval_workflow" parameters: - "$ref": "#/components/parameters/header_organization" operationId: approval_workflows-create requestBody: "$ref": "#/components/requestBodies/approval_workflow" description: Create a new approval workflow. "/api/v2/approval_policy_assignments/{id}": get: tags: - Approval Policy Assignment summary: Gets the approval policy assignment responses: '200': "$ref": "#/components/responses/single_approval_policy_assignment" parameters: - in: path name: id schema: type: string required: true description: The ID of the approval policy assignment to retrieve. - "$ref": "#/components/parameters/header_organization" operationId: approval_policy_assignments-show description: Retrieve a single approval policy assignment by ID. delete: tags: - Approval Policy Assignment summary: Deletes the approval policy assignment responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the approval policy assignment to delete. operationId: approval_policy_assignments-destroy description: Delete an approval policy assignment. patch: tags: - Approval Policy Assignment summary: Updates the approval policy assignment responses: '200': "$ref": "#/components/responses/single_approval_policy_assignment" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the approval policy assignment to update. operationId: approval_policy_assignments-update requestBody: "$ref": "#/components/requestBodies/approval_policy_assignment" description: Update an approval policy assignment. "/api/v2/organization_memberships/{id}/read_notifications": patch: tags: - Organization Memberships summary: Mark all notifications as read for organization membership responses: '200': "$ref": "#/components/responses/single_organization_membership" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true operationId: organization_memberships-read_notifications-read_notifications "/api/v2/document_types/{id}/archive": patch: tags: - Document Types summary: Archives a document type responses: '200': "$ref": "#/components/responses/single_document_type" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: document_types-archive-archive description: Archive a document type. "/api/v2/contracts/{id}": delete: tags: - Contracts summary: Deletes a contract responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: contracts-destroy description: Delete a contract. patch: tags: - Contracts summary: Update a contract responses: '200': "$ref": "#/components/responses/single_contract" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: contracts-update requestBody: "$ref": "#/components/requestBodies/contract" description: Update a contract. get: tags: - Contracts summary: Gets a contract responses: '200': "$ref": "#/components/responses/single_contract" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: contracts-show description: Retrieve a single contract by ID. "/api/v2/document_types/copy": post: tags: - Document Types summary: Duplicates a document type responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_document_type" '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created parameters: - "$ref": "#/components/parameters/header_organization" operationId: document_types-copy-copy description: Copy an existing document type. "/api/v2/approval_policies/{id}/archive": patch: tags: - Approval Policy summary: Archives the approval policy responses: '200': "$ref": "#/components/responses/single_approval_policy" '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the approval policy to archive. operationId: approval_policies-archive-archive description: Archive an approval policy. "/api/v2/entitlements/{id}": patch: tags: - Entitlements summary: Updates an entitlement responses: '200': "$ref": "#/components/responses/single_entitlement" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: entitlements-update requestBody: "$ref": "#/components/requestBodies/entitlement" description: Update an entitlement. delete: tags: - Entitlements summary: Deletes an entitlement responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: entitlements-destroy description: Delete an entitlement. get: tags: - Entitlements summary: Get an entitlement responses: '200': "$ref": "#/components/responses/single_entitlement" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: entitlements-show description: Retrieve a single entitlement. "/api/v2/folders/{id}/reposition": patch: tags: - Folders summary: Reposition a folder responses: '200': "$ref": "#/components/responses/single_folder" parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the folder. - "$ref": "#/components/parameters/header_organization" operationId: folders-reposition-reposition requestBody: "$ref": "#/components/requestBodies/folder_reposition" description: |- Reorders a folder among the other folders in its project. Pass `move_before_id` and/or `move_after_id` — the IDs of the folders to position it relative to. When both are provided, the folder is placed between them. ```json { "data": { "type": "folders", "attributes": { "move_after_id": 5521 } } } ``` "/api/v2/resource_requests": post: tags: - Resource Requests summary: Create a resource request responses: '201': "$ref": "#/components/responses/single_resource_request" '400': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: The request body is missing required fields or contains invalid data. '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: The resource request could not be created due to validation errors. parameters: - "$ref": "#/components/parameters/header_organization" operationId: resource_requests-create description: Creates a new resource request for a service. get: tags: - Resource Requests summary: Get resource requests responses: '200': "$ref": "#/components/responses/collection_resource_request" parameters: - "$ref": "#/components/parameters/sort_resource_request" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_resource_request" operationId: resource_requests-index description: Returns a paginated list of resource requests, optionally filtered and sorted. "/api/v2/custom_field_options/{id}": get: tags: - Custom Field Options summary: Gets a custom field option responses: '200': "$ref": "#/components/responses/single_custom_field_option" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: custom_field_options-show description: Retrieve a single custom field option by ID. patch: tags: - Custom Field Options summary: Updates a custom field option responses: '200': "$ref": "#/components/responses/single_custom_field_option" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: custom_field_options-update requestBody: "$ref": "#/components/requestBodies/custom_field_option" description: Update a custom field option. "/api/v2/folders/{id}/restore": patch: tags: - Folders summary: Restores a folder responses: '200': "$ref": "#/components/responses/single_folder" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The numeric ID of the folder. operationId: folders-restore-restore description: Restores an archived folder — and its task lists — back to active status. "/api/v2/services/{id}": get: tags: - Services summary: Gets a service responses: '200': "$ref": "#/components/responses/single_service" parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the service. - "$ref": "#/components/parameters/header_organization" operationId: services-show description: Retrieve a single service by ID. delete: tags: - Services summary: Deletes a service responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the service. - "$ref": "#/components/parameters/header_organization" operationId: services-destroy description: Delete a service. patch: tags: - Services summary: Update a service responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_service" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The numeric ID of the service. operationId: services-update requestBody: "$ref": "#/components/requestBodies/service" description: Update a service. "/api/v2/people": get: tags: - People summary: Get people responses: '200': "$ref": "#/components/responses/collection_person" parameters: - "$ref": "#/components/parameters/filter_person" - "$ref": "#/components/parameters/sort_person" - "$ref": "#/components/parameters/header_organization" operationId: people-index description: List people in the organization. Supports filtering by name, email, type, status, team, company, manager, tags, and custom fields. post: tags: - People summary: Create a person responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_person" parameters: - "$ref": "#/components/parameters/header_organization" operationId: people-create requestBody: "$ref": "#/components/requestBodies/person" description: Create a new person. Depending on the role and company assignment, the person will be classified as an employee, contractor, client contact, or placeholder. "/api/v2/prices": get: tags: - Prices summary: Get prices responses: '200': "$ref": "#/components/responses/collection_price" parameters: - "$ref": "#/components/parameters/sort_price" - "$ref": "#/components/parameters/filter_price" - "$ref": "#/components/parameters/header_organization" operationId: prices-index description: List all prices. post: tags: - Prices summary: Create a price responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_price" parameters: - "$ref": "#/components/parameters/header_organization" operationId: prices-create requestBody: "$ref": "#/components/requestBodies/price" description: Create a new price. "/api/v2/time_entries/{id}": get: tags: - Time Entries summary: Gets a time entry responses: '200': "$ref": "#/components/responses/single_time_entry" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: time_entries-show description: Retrieve a single time entry by ID. patch: tags: - Time Entries summary: Update a time entry responses: '200': "$ref": "#/components/responses/single_time_entry" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: time_entries-update requestBody: "$ref": "#/components/requestBodies/time_entry" description: Update a time entry. delete: tags: - Time Entries summary: Deletes a time entry responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: time_entries-destroy description: Delete a time entry. "/api/v2/overheads": get: tags: - Overheads summary: Get overheads responses: '200': "$ref": "#/components/responses/collection_overhead" parameters: - "$ref": "#/components/parameters/sort_overhead" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_overhead" operationId: overheads-index description: List overheads. "/api/v2/discussions": post: tags: - Discussions summary: Create an discussion responses: '201': "$ref": "#/components/responses/single_discussion" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: discussions-create requestBody: "$ref": "#/components/requestBodies/discussion" description: Create a new discussion. get: tags: - Discussions summary: Get discussions responses: '200': "$ref": "#/components/responses/collection_discussion" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_discussion" - "$ref": "#/components/parameters/sort_discussion" operationId: discussions-index description: List discussions. "/api/v2/approval_statuses": get: tags: - Approval Status summary: Get approval statuses responses: '200': "$ref": "#/components/responses/collection_approval_status" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_approval_status" operationId: approval_statuses-index description: Returns the collection of approval statuses visible to the current user. Use filters to narrow by target (`booking_id`, `time_entry_id`, `expense_id`), by approver, or by workflow. "/api/v2/reports/service_reports": get: tags: - Reports summary: Get service reports responses: '200': "$ref": "#/components/responses/collection_service_report" parameters: - "$ref": "#/components/parameters/sort_service_report" - "$ref": "#/components/parameters/group_service_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_service_report" operationId: reports-service_reports-index description: Retrieve aggregated service report data grouped by configurable dimensions. "/api/v2/reports/time_entry_reports": get: tags: - Reports summary: Get time entry reports responses: '200': "$ref": "#/components/responses/collection_time_entry_report" parameters: - "$ref": "#/components/parameters/group_time_entry_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_time_entry_report" - "$ref": "#/components/parameters/filter_time_entry_report" operationId: reports-time_entry_reports-index description: Retrieve aggregated time entry report data grouped by configurable dimensions. "/api/v2/reports/company_reports": get: tags: - Reports summary: Get company reports responses: '200': "$ref": "#/components/responses/collection_company_report" parameters: - "$ref": "#/components/parameters/group_company_report" - "$ref": "#/components/parameters/filter_company_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_company_report" operationId: reports-company_reports-index description: Retrieve aggregated company report data grouped by configurable dimensions. "/api/v2/integration_exporter_configurations": post: tags: - Integration Exporter Configuration summary: Create integration exporter configuration responses: '201': "$ref": "#/components/responses/single_integration_exporter_configuration" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: integration_exporter_configurations-create requestBody: "$ref": "#/components/requestBodies/integration_exporter_configuration" description: Create a new integration exporter configuration. get: tags: - Integration Exporter Configuration summary: Get integration exporter configurations responses: '200': "$ref": "#/components/responses/collection_integration_exporter_configuration" parameters: - "$ref": "#/components/parameters/sort_integration_exporter_configuration" - "$ref": "#/components/parameters/filter_integration_exporter_configuration" - "$ref": "#/components/parameters/header_organization" operationId: integration_exporter_configurations-index description: List integration exporter configurations. "/api/v2/projects/{id}/restore": patch: tags: - Projects summary: Restores a project responses: '200': "$ref": "#/components/responses/single_project" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: projects-restore-restore description: Restore a project. Restores an archived project back to active status. "/api/v2/placeholder_usages": get: tags: - Placeholder Usages summary: Get placeholder usages responses: '200': "$ref": "#/components/responses/collection_placeholder_usage" parameters: - "$ref": "#/components/parameters/sort_placeholder_usage" - "$ref": "#/components/parameters/filter_placeholder_usage" - "$ref": "#/components/parameters/header_organization" operationId: placeholder_usages-index description: List all placeholder usages. post: tags: - Placeholder Usages summary: Create a placeholder usage responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_placeholder_usage" parameters: - "$ref": "#/components/parameters/header_organization" operationId: placeholder_usages-create description: Create a new placeholder usage. "/api/v2/dashboards/{id}": get: tags: - Dashboards summary: Get a dashboard responses: '200': "$ref": "#/components/responses/single_dashboard" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: dashboards-show description: Retrieve a single dashboard by ID. patch: tags: - Dashboards summary: Update a dashboard responses: '200': "$ref": "#/components/responses/single_dashboard" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: dashboards-update requestBody: "$ref": "#/components/requestBodies/dashboard" description: Update a dashboard. delete: tags: - Dashboards summary: Delete a dashboard responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: dashboards-destroy description: Delete a dashboard. "/api/v2/approval_policies/{id}/restore": patch: tags: - Approval Policy summary: Restores the approval policy responses: '200': "$ref": "#/components/responses/single_approval_policy" '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the approval policy to restore. operationId: approval_policies-restore-restore description: Restore an approval policy. "/api/v2/invoice_templates": get: tags: - Invoice Templates summary: Get invoice templates responses: '200': "$ref": "#/components/responses/collection_invoice_template" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_invoice_template" - "$ref": "#/components/parameters/sort_invoice_template" operationId: invoice_templates-index description: List invoice templates. post: tags: - Invoice Templates summary: Create an invoice template responses: '201': "$ref": "#/components/responses/single_invoice_template" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: invoice_templates-create requestBody: "$ref": "#/components/requestBodies/invoice_template" description: Create a new invoice template. "/api/v2/overheads/{id}": get: tags: - Overheads summary: Gets an overhead responses: '200': "$ref": "#/components/responses/single_overhead" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: overheads-show description: Retrieve a single overhead record. patch: tags: - Overheads summary: Update an overhead responses: '200': "$ref": "#/components/responses/single_overhead" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: overheads-update requestBody: "$ref": "#/components/requestBodies/overhead" description: Update an overhead record. "/api/v2/companies": post: tags: - Companies summary: Create a company responses: '201': "$ref": "#/components/responses/single_company" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: companies-create requestBody: "$ref": "#/components/requestBodies/company" description: Create a new company. get: tags: - Companies summary: Get companies responses: '200': "$ref": "#/components/responses/collection_company" parameters: - "$ref": "#/components/parameters/filter_company" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_company" operationId: companies-index description: List companies with optional filters and pagination. "/api/v2/emails/{id}/attach": patch: tags: - Emails summary: Attach an email responses: '200': "$ref": "#/components/responses/single_email" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: emails-attach-attach description: Attach an email to a resource. "/api/v2/surveys": post: tags: - Surveys summary: Create a survey responses: '201': "$ref": "#/components/responses/single_survey" parameters: - "$ref": "#/components/parameters/header_organization" operationId: surveys-create requestBody: "$ref": "#/components/requestBodies/survey" description: Create a new survey. get: tags: - Surveys summary: Get surveys responses: '200': "$ref": "#/components/responses/collection_survey" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_survey" - "$ref": "#/components/parameters/filter_survey" operationId: surveys-index description: List all surveys. "/api/v2/custom_field_options/{id}/archive": patch: tags: - Custom Field Options summary: Archives a custom field option responses: '200': "$ref": "#/components/responses/single_custom_field_option" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: custom_field_options-archive-archive description: Archive a custom field option. "/api/v2/contracts": get: tags: - Contracts summary: Get contracts responses: '200': "$ref": "#/components/responses/collection_contract" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_contract" - "$ref": "#/components/parameters/filter_contract" operationId: contracts-index description: List contracts with optional filters and pagination. post: tags: - Contracts summary: Create a contract responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_contract" parameters: - "$ref": "#/components/parameters/header_organization" operationId: contracts-create requestBody: "$ref": "#/components/requestBodies/contract" description: Create a new contract. "/api/v2/deleted_items/{id}": get: tags: - Deleted Items summary: Gets a deleted item responses: '200': "$ref": "#/components/responses/single_deleted_item" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: deleted_items-show description: Retrieve a single deleted item. "/api/v2/survey_responses": get: tags: - Survey Responses summary: Get survey responses responses: '200': "$ref": "#/components/responses/collection_survey_response" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_survey_response" - "$ref": "#/components/parameters/sort_survey_response" operationId: survey_responses-index description: List all survey responses. post: tags: - Survey Responses summary: Create a survey response responses: '201': "$ref": "#/components/responses/single_survey_response" parameters: - "$ref": "#/components/parameters/header_organization" operationId: survey_responses-create requestBody: "$ref": "#/components/requestBodies/survey_response" description: Create a new survey response. "/api/v2/tax_rates": post: tags: - TaxRates summary: Create a tax rate responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '201': "$ref": "#/components/responses/single_tax_rate" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: tax_rates-create requestBody: "$ref": "#/components/requestBodies/tax_rate" description: Create a new tax rate. get: tags: - TaxRates summary: Get tax rates responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/collection_tax_rate" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_tax_rate" - "$ref": "#/components/parameters/filter_tax_rate" operationId: tax_rates-index description: List all tax rates. "/api/v2/notifications/{id}/read": patch: tags: - Notifications summary: Reads a notification responses: '200': "$ref": "#/components/responses/single_notification" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: notifications-read-read description: Mark a notification as read. "/api/v2/pulses/{id}": delete: tags: - Pulses summary: Deletes a pulse responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: pulses-destroy description: Delete a pulse by ID. get: tags: - Pulses summary: Gets a pulse responses: '200': "$ref": "#/components/responses/single_pulse" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: pulses-show description: Retrieve a single pulse by ID. patch: tags: - Pulses summary: Updates a pulse responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_pulse" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: pulses-update requestBody: "$ref": "#/components/requestBodies/pulse" description: Update a pulse. "/api/v2/lost_reasons": post: tags: - Lost Reasons summary: Create a lost reason responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_lost_reason" parameters: - "$ref": "#/components/parameters/header_organization" operationId: lost_reasons-create requestBody: "$ref": "#/components/requestBodies/lost_reason" description: Create a new lost reason. get: tags: - Lost Reasons summary: Get lost reasons responses: '200': "$ref": "#/components/responses/collection_lost_reason" parameters: - "$ref": "#/components/parameters/sort_lost_reason" - "$ref": "#/components/parameters/filter_lost_reason" - "$ref": "#/components/parameters/header_organization" operationId: lost_reasons-index description: List lost reasons. "/api/v2/bills": post: tags: - Bills summary: Create a bill responses: '201': "$ref": "#/components/responses/single_bill" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: bills-create requestBody: "$ref": "#/components/requestBodies/bill" description: Create a new bill. "/api/v2/people/merge": patch: tags: - People summary: Merge a person responses: '200': "$ref": "#/components/responses/single_person" parameters: - "$ref": "#/components/parameters/header_organization" operationId: people-merge-merge description: Merge two person records into one, transferring all associated data to the target person. "/api/v2/task_lists/{id}/move": patch: tags: - Task Lists summary: Moves a task list responses: '200': "$ref": "#/components/responses/single_task_list" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: task_lists-move-move requestBody: "$ref": "#/components/requestBodies/task_list_move" description: |- Moves a task list — and all of its tasks — to a different folder, optionally in a different project. Provide the target `folder_id`. When the target project uses a **different workflow** than the source, a `map` of workflow status IDs is required: keys are the source workflow's status IDs, values are the target workflow's status IDs. The map must cover **every** status in the source workflow. Tasks are reassigned to the target project and their statuses remapped accordingly. Assignees and subscribers who are not members of the target project are removed from the moved tasks. ```json { "data": { "type": "task_lists", "attributes": { "folder_id": 9912, "map": { "101": 205, "102": 206, "103": 207 } } } } ``` "/api/v2/pipelines": post: tags: - Pipelines summary: Create a pipeline responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '201': "$ref": "#/components/responses/single_pipeline" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: pipelines-create requestBody: "$ref": "#/components/requestBodies/pipeline" description: Create a new pipeline. get: tags: - Pipelines summary: Get pipelines responses: '200': "$ref": "#/components/responses/collection_pipeline" parameters: - "$ref": "#/components/parameters/sort_pipeline" - "$ref": "#/components/parameters/filter_pipeline" - "$ref": "#/components/parameters/header_organization" operationId: pipelines-index description: List all pipelines. "/api/v2/timesheets/{id}": get: tags: - Timesheets summary: Gets a timesheet responses: '200': "$ref": "#/components/responses/single_timesheet" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the timesheet to retrieve. operationId: timesheets-show description: Retrieve a single timesheet by ID. delete: tags: - Timesheets summary: Deletes a timesheet responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the timesheet to delete. operationId: timesheets-destroy description: Delete a timesheet by ID. "/api/v2/teams": get: tags: - Teams summary: Get teams responses: '200': "$ref": "#/components/responses/collection_team" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_team" - "$ref": "#/components/parameters/sort_team" operationId: teams-index description: List all teams. post: tags: - Teams summary: Create a team responses: '201': "$ref": "#/components/responses/single_team" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: teams-create requestBody: "$ref": "#/components/requestBodies/team" description: Create a new team. "/api/v2/deleted_items": get: tags: - Deleted Items summary: Get deleted items responses: '200': "$ref": "#/components/responses/collection_deleted_item" parameters: - "$ref": "#/components/parameters/sort_deleted_item" - "$ref": "#/components/parameters/filter_deleted_item" - "$ref": "#/components/parameters/header_organization" operationId: deleted_items-index description: List deleted items in the recycle bin. "/api/v2/reports/expense_reports": get: tags: - Reports summary: Get expense reports responses: '200': "$ref": "#/components/responses/collection_expense_report" parameters: - "$ref": "#/components/parameters/filter_expense_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_expense_report" - "$ref": "#/components/parameters/group_expense_report" operationId: reports-expense_reports-index description: Retrieve aggregated expense report data grouped by configurable dimensions. "/api/v2/emails/{id}/dismiss": patch: tags: - Emails summary: Dismiss an email responses: '200': "$ref": "#/components/responses/single_email" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: emails-dismiss-dismiss description: Dismiss an email from the inbox. "/api/v2/workflow_statuses/{id}": get: tags: - Workflow Statuses summary: Gets a workflow status responses: '200': "$ref": "#/components/responses/single_workflow_status" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: workflow_statuses-show description: Retrieve a single workflow status by ID. delete: tags: - Workflow Statuses summary: Deletes a workflow status and moves tasks to other workflow status responses: '204': description: No Content '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: workflow_statuses-destroy description: Delete a workflow status by ID. patch: tags: - Workflow Statuses summary: Update an workflow status responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_workflow_status" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: workflow_statuses-update requestBody: "$ref": "#/components/requestBodies/workflow_status" description: Update a workflow status. "/api/v2/custom_fields": post: tags: - Custom Fields summary: Creates a custom field responses: '201': "$ref": "#/components/responses/single_custom_field" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: custom_fields-create requestBody: "$ref": "#/components/requestBodies/custom_field" description: Create a new custom field. get: tags: - Custom Fields summary: Get custom fields responses: '200': "$ref": "#/components/responses/collection_custom_field" parameters: - "$ref": "#/components/parameters/filter_custom_field" - "$ref": "#/components/parameters/sort_custom_field" - "$ref": "#/components/parameters/header_organization" operationId: custom_fields-index description: List custom fields with optional filters and pagination. "/api/v2/notifications/{id}": get: tags: - Notifications summary: Shows a notification responses: '200': "$ref": "#/components/responses/single_notification" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: notifications-show description: Retrieve a single notification. "/api/v2/reports/person_reports": get: tags: - Reports summary: Get person reports responses: '200': "$ref": "#/components/responses/collection_person_report" parameters: - "$ref": "#/components/parameters/sort_person_report" - "$ref": "#/components/parameters/group_person_report" - "$ref": "#/components/parameters/filter_person_report" - "$ref": "#/components/parameters/header_organization" operationId: reports-person_reports-index description: Retrieve aggregated person report data grouped by configurable dimensions. "/api/v2/templates/{id}": get: tags: - Templates summary: Gets a template responses: '200': "$ref": "#/components/responses/single_template" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: Numeric template id. operationId: templates-show description: Fetch a single template by id. patch: tags: - Templates summary: Update a template responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Validation error from the target-specific update form. '200': "$ref": "#/components/responses/single_template" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: Numeric template id. operationId: templates-update requestBody: "$ref": "#/components/requestBodies/template" description: |- Update a template's name, description, and target-specific fields inside `model_attributes`. The dispatcher routes to a target-aware form: `deal` updates retainer fields (when the retainer feature is enabled), `budget` updates color (propagated to the underlying budget). Renaming a template also renames the wrapped target. ### Rename a template ```json { "data": { "type": "templates", "attributes": { "name": "Onboarding playbook v2" } } } ``` ### Update a deal template's retainer cadence ```json { "data": { "type": "templates", "attributes": { "model_attributes": { "retainer_interval": "month", "retainer_interval_count": 6 } } } } ``` ### Update a budget template's color ```json { "data": { "type": "templates", "attributes": { "model_attributes": { "color_id": 7 } } } } ``` delete: tags: - Templates summary: Deletes a template responses: '204': description: Template soft-deleted successfully. parameters: - in: path name: id schema: type: string required: true description: Numeric template id. - "$ref": "#/components/parameters/header_organization" operationId: templates-destroy description: Soft-delete a template and its wrapped target. The deletion is recorded in `deleted_items` and is recoverable from Trash. "/api/v2/expenses/{id}/reject": patch: tags: - Expenses summary: Rejects an expense responses: '200': "$ref": "#/components/responses/single_expense" parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/header_organization" operationId: expenses-reject-reject requestBody: "$ref": "#/components/requestBodies/expense_reject" "/api/v2/invoices/{id}/preview": get: tags: - Invoices summary: Preview invoice responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_invoice" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: invoices-preview-preview description: | The preview endpoint lets you simulate invoice line item generation without persisting any changes. It returns the exact line items and invoice attributions that would be created for a given invoice based on the selected invoicing method and options. - Builds line items using the same logic as the line items "[generate](openapi:group:line-items)" method - Returns data only, does not modify the invoice "/api/v2/invoice_attributions/{id}": patch: tags: - Invoice Attributions summary: Update an invoice attribution responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_invoice_attribution" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: invoice_attributions-update requestBody: "$ref": "#/components/requestBodies/invoice_attribution" description: Update an invoice attribution. delete: tags: - Invoice Attributions summary: Deletes an invoice attribution responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: invoice_attributions-destroy description: Delete an invoice attribution. get: tags: - Invoice Attributions summary: Gets an invoice attribution responses: '200': "$ref": "#/components/responses/single_invoice_attribution" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: invoice_attributions-show description: Retrieve a single invoice attribution. "/api/v2/surveys/{id}": get: tags: - Surveys summary: Gets a survey responses: '200': "$ref": "#/components/responses/single_survey" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the survey to retrieve. operationId: surveys-show description: Retrieve a single survey by ID. delete: tags: - Surveys summary: Deletes a survey responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: The ID of the survey to delete. - "$ref": "#/components/parameters/header_organization" operationId: surveys-destroy description: Delete a survey by ID. patch: tags: - Surveys summary: Update a survey responses: '200': "$ref": "#/components/responses/single_survey" parameters: - in: path name: id schema: type: string required: true description: The ID of the survey to update. - "$ref": "#/components/parameters/header_organization" operationId: surveys-update requestBody: "$ref": "#/components/requestBodies/survey" description: Update a survey. "/api/v2/line_items/{id}": delete: tags: - Line Items summary: Deletes a line item responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: line_items-destroy description: Delete a line item. get: tags: - Line Items summary: Gets a line item responses: '200': "$ref": "#/components/responses/single_line_item" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: line_items-show description: Retrieve a single line item. patch: tags: - Line Items summary: Update a line item responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_line_item" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: line_items-update requestBody: "$ref": "#/components/requestBodies/line_item" description: Update a line item. "/api/v2/purchase_orders/{id}/export_update": patch: tags: - Purchase Orders summary: Updates exported purchase order responses: '200': "$ref": "#/components/responses/single_purchase_order" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: purchase_orders-export_update-export_update requestBody: "$ref": "#/components/requestBodies/purchase_order_export" description: Update the export status of a purchase order. "/api/v2/timesheets": get: tags: - Timesheets summary: Get timesheets responses: '200': "$ref": "#/components/responses/collection_timesheet" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_timesheet" - "$ref": "#/components/parameters/sort_timesheet" operationId: timesheets-index description: List all timesheets. post: tags: - Timesheets summary: Create a timesheet responses: '201': "$ref": "#/components/responses/single_timesheet" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: timesheets-create requestBody: "$ref": "#/components/requestBodies/timesheet" description: Create a new timesheet. "/api/v2/notifications/{id}/unread": patch: tags: - Notifications summary: Marks a notification as unread responses: '200': "$ref": "#/components/responses/single_notification" parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/header_organization" operationId: notifications-unread-unread "/api/v2/widgets/{id}": delete: tags: - Widgets summary: Deletes a widget responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: widgets-destroy description: Delete a widget by ID. get: tags: - Widgets summary: Get a widget responses: '200': "$ref": "#/components/responses/single_widget" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: widgets-show description: Retrieve a single widget by ID. patch: tags: - Widgets summary: Update a widget responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_widget" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: widgets-update requestBody: "$ref": "#/components/requestBodies/widget" description: Update a widget. "/api/v2/deal_statuses/merge": patch: tags: - Deal Statuses summary: Merges a deal status responses: '200': "$ref": "#/components/responses/single_deal_status" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: deal_statuses-merge-merge description: Merge deal statuses. "/api/v2/folders/{id}/move": patch: tags: - Folders summary: Move a folder responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: The folder could not be moved due to validation errors. '200': "$ref": "#/components/responses/single_folder" parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the folder. - "$ref": "#/components/parameters/header_organization" operationId: folders-move-move requestBody: "$ref": "#/components/requestBodies/folder_move" description: |- Moves a folder — and all of its task lists and tasks — to a different project. Provide the target `project_id`. When the target project uses a **different workflow** than the source, a `map` of workflow status IDs is required: keys are the source workflow's status IDs, values are the target workflow's status IDs. The map must cover **every** status in the source workflow. Tasks are reassigned to the target project and their statuses remapped accordingly. Assignees and subscribers who are not members of the target project are removed from the moved tasks. ```json { "data": { "type": "folders", "attributes": { "project_id": 31055, "map": { "101": 205, "102": 206, "103": 207 } } } } ``` "/api/v2/events": get: tags: - Events summary: Get events responses: '200': "$ref": "#/components/responses/collection_event" parameters: - "$ref": "#/components/parameters/filter_event" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_event" operationId: events-index description: List events. post: tags: - Events summary: Create an event responses: '201': "$ref": "#/components/responses/single_event" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: events-create requestBody: "$ref": "#/components/requestBodies/event" description: Create a new event. "/api/v2/sections": get: tags: - Sections summary: Get sections responses: '200': "$ref": "#/components/responses/collection_section" parameters: - "$ref": "#/components/parameters/sort_section" - "$ref": "#/components/parameters/filter_section" - "$ref": "#/components/parameters/header_organization" operationId: sections-index description: List all sections. post: tags: - Sections summary: Create a section responses: '201': "$ref": "#/components/responses/single_section" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: sections-create requestBody: "$ref": "#/components/requestBodies/section" description: Create a new section. "/api/v2/organization_memberships": get: tags: - Organization Memberships summary: Get organization memberships responses: '200': "$ref": "#/components/responses/collection_organization_membership" parameters: - "$ref": "#/components/parameters/sort_organization_membership" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_organization_membership" operationId: organization_memberships-index description: List organization memberships. "/api/v2/pages/create_with_markdown": post: tags: - Pages summary: Create a page with markdown body responses: '201': "$ref": "#/components/responses/single_page" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden — the current user does not have permission to create a page in the target project or under the target parent page. '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity — the request body is missing required fields or the supplied markdown could not be converted to a valid page body. '502': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Bad Gateway — the docs-realtime service returned an error or could not be reached while processing the markdown body. parameters: - "$ref": "#/components/parameters/header_organization" operationId: pages-proxy-create-with-markdown requestBody: "$ref": "#/components/requestBodies/page_create_with_markdown" description: Create a new page from a markdown body. The markdown is converted to the page's rich-text representation server-side and the page is then created with all standard page attributes (title, icon, parent, project, custom fields, etc.). "/api/v2/document_styles": get: tags: - Document Styles summary: Get document_styles responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/collection_document_style" parameters: - "$ref": "#/components/parameters/filter_document_style" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_document_style" operationId: document_styles-index description: List document styles. post: tags: - Document Styles summary: Create a document_style responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_document_style" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden parameters: - "$ref": "#/components/parameters/header_organization" operationId: document_styles-create requestBody: "$ref": "#/components/requestBodies/document_style" description: Create a new document style. "/api/v2/expenses/{id}/export": patch: tags: - Expenses summary: Exports an expense responses: '200': "$ref": "#/components/responses/single_expense" '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: expenses-export-export requestBody: "$ref": "#/components/requestBodies/expense_export" description: Export an expense to an external accounting system. "/api/v2/placeholder_usages/{id}": delete: tags: - Placeholder Usages summary: Deletes a placeholder usage responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: The ID of the placeholder usage to delete. - "$ref": "#/components/parameters/header_organization" operationId: placeholder_usages-destroy description: Delete a placeholder usage by ID. get: tags: - Placeholder Usages summary: Gets a placeholder usage responses: '200': "$ref": "#/components/responses/single_placeholder_usage" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the placeholder usage to retrieve. operationId: placeholder_usages-show description: Retrieve a single placeholder usage by ID. patch: tags: - Placeholder Usages summary: Update a placeholder usage responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_placeholder_usage" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the placeholder usage to update. operationId: placeholder_usages-update description: Update a placeholder usage. "/api/v2/webhook_logs": get: tags: - Webhook Logs summary: Get webhook logs responses: '200': "$ref": "#/components/responses/collection_webhook_log" parameters: - "$ref": "#/components/parameters/filter_webhook_log" - "$ref": "#/components/parameters/sort_webhook_log" - "$ref": "#/components/parameters/header_organization" operationId: webhook_logs-index description: List all webhook logs. "/api/v2/service_assignments": post: tags: - Service Assignments summary: Create a service assignment responses: '201': "$ref": "#/components/responses/single_service_assignment" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: service_assignments-create requestBody: "$ref": "#/components/requestBodies/service_assignment" description: Create a new service assignment. get: tags: - Service Assignments summary: Get service assignments responses: '200': "$ref": "#/components/responses/collection_service_assignment" parameters: - "$ref": "#/components/parameters/sort_service_assignment" - "$ref": "#/components/parameters/filter_service_assignment" - "$ref": "#/components/parameters/header_organization" operationId: service_assignments-index description: List all service assignments. "/api/v2/invoices/{id}/send": patch: tags: - Invoices summary: Sends an invoice responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_invoice" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: invoices-send-send_mail description: Send an invoice to the client. "/api/v2/revenue_distributions/{id}": patch: tags: - Revenue Distributions summary: Update a revenue distribution responses: '200': "$ref": "#/components/responses/single_revenue_distribution" parameters: - in: path name: id schema: type: string required: true description: The ID of the revenue distribution to update. - "$ref": "#/components/parameters/header_organization" operationId: revenue_distributions-update description: Update a revenue distribution. get: tags: - Revenue Distributions summary: Gets a revenue distribution responses: '200': "$ref": "#/components/responses/single_revenue_distribution" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the revenue distribution to retrieve. operationId: revenue_distributions-show description: Retrieve a single revenue distribution by ID. delete: tags: - Revenue Distributions summary: Deletes a revenue distribution responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the revenue distribution to delete. operationId: revenue_distributions-destroy description: Delete a revenue distribution by ID. "/api/v2/organization_subscriptions/{id}": patch: tags: - Organization Subscriptions summary: Update a organization subscription responses: '402': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Payment Required '200': "$ref": "#/components/responses/single_organization_subscription" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: organization_subscriptions-update requestBody: "$ref": "#/components/requestBodies/organization_subscription" description: Update an organization subscription. get: tags: - Organization Subscriptions summary: Gets a organization subscription responses: '200': "$ref": "#/components/responses/single_organization_subscription" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: organization_subscriptions-show description: Retrieve a single organization subscription. "/api/v2/task_dependencies/{id}": get: tags: - TaskDependency summary: Gets a task dependency responses: '200': "$ref": "#/components/responses/single_task_dependency" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: task_dependencies-show description: Returns a single task dependency by ID. patch: tags: - TaskDependency summary: Update a task dependency responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/single_task_dependency" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: task_dependencies-update requestBody: "$ref": "#/components/requestBodies/task_dependency_update" description: Updates a task dependency — only `type_id` is mutable. The paired reverse dependency is updated to the corresponding reverse type (Blocking ↔ Waiting on; Linked stays Linked). delete: tags: - TaskDependency summary: Deletes a task dependency responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: task_dependencies-destroy description: Deletes a task dependency. The paired reverse dependency is deleted as well. "/api/v2/tasks/{id}/reposition": patch: tags: - Tasks summary: Repositions a task responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: tasks-reposition-reposition requestBody: "$ref": "#/components/requestBodies/task_reposition" description: |- Reorders a task within its task list. Pass `move_before_id` and/or `move_after_id` — the IDs of sibling tasks to position it relative to. When both are provided, the task is placed between them. Set `subtask: true` to reorder within the parent task's subtask order instead of within the task list. ```json { "data": { "type": "tasks", "attributes": { "move_after_id": 5560100 } } } ``` "/api/v2/invitations/{id}": patch: tags: - Invitations summary: Update an invitation responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_invitation" '204': content: any: {} headers: {} description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: invitations-update requestBody: "$ref": "#/components/requestBodies/invitation" description: Accept an invitation. get: tags: - Invitations summary: Get an invitation responses: '404': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Not Found '200': "$ref": "#/components/responses/single_invitation" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: invitations-show description: Retrieve a single invitation. "/api/v2/boards/{id}/archive": patch: tags: - Boards summary: Archives a board responses: '200': "$ref": "#/components/responses/single_board" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: boards-archive-archive description: Archive a board. "/api/v2/survey_fields": get: tags: - Survey Fields summary: Get survey fields responses: '200': "$ref": "#/components/responses/collection_survey_field" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_survey_field" - "$ref": "#/components/parameters/filter_survey_field" operationId: survey_fields-index description: List all survey fields. post: tags: - Survey Fields summary: Creates a survey field responses: '201': "$ref": "#/components/responses/single_survey_field" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: survey_fields-create requestBody: "$ref": "#/components/requestBodies/survey_field" description: Create a new survey field. "/api/v2/service_type_assignments": post: tags: - Service Type Assignments summary: Create a service type assignment responses: '201': "$ref": "#/components/responses/single_service_type_assignment" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: service_type_assignments-create requestBody: "$ref": "#/components/requestBodies/service_type_assignment" description: Create a new service type assignment. get: tags: - Service Type Assignments summary: Get service type assignments responses: '200': "$ref": "#/components/responses/collection_service_type_assignment" parameters: - "$ref": "#/components/parameters/sort_service_type_assignment" - "$ref": "#/components/parameters/filter_service_type_assignment" - "$ref": "#/components/parameters/header_organization" operationId: service_type_assignments-index description: List all service type assignments. "/api/v2/organization_memberships/{id}": get: tags: - Organization Memberships summary: Get an organization membership responses: '200': "$ref": "#/components/responses/single_organization_membership" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: organization_memberships-show description: Retrieve a single organization membership. delete: tags: - Organization Memberships summary: Destroy organization membership responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: organization_memberships-destroy description: Delete an organization membership. patch: tags: - Organization Memberships summary: Update an organization membership responses: '200': "$ref": "#/components/responses/single_organization_membership" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: organization_memberships-update requestBody: "$ref": "#/components/requestBodies/organization_membership" description: Update an organization membership. "/api/v2/team_memberships/{id}": delete: tags: - Team Memberships summary: Deletes a team membership responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: team_memberships-destroy description: Delete a team membership by ID. get: tags: - Team Memberships summary: Gets a team membership responses: '200': "$ref": "#/components/responses/single_team_membership" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: team_memberships-show description: Retrieve a single team membership by ID. "/api/v2/task_lists/{id}/archive": patch: tags: - Task Lists summary: Archives a task list responses: '200': "$ref": "#/components/responses/single_task_list" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: task_lists-archive-archive description: Archives a task list, hiding it from active task list views. Reversible via [`/task_lists/{id}/restore`](#tag/Task-Lists/operation/task_lists-restore-restore). "/api/v2/templates": get: tags: - Templates summary: Get templates responses: '200': "$ref": "#/components/responses/collection_template" parameters: - "$ref": "#/components/parameters/sort_template" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_template" operationId: templates-index description: List templates the requester has access to. Supports filtering by id, project, target type (with `deal`/`budget` discriminated via the underlying quote), free-text query, and a task-template-only `task_project_id` filter. post: tags: - Templates summary: Create a template responses: '201': "$ref": "#/components/responses/single_template" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Validation error — for example, missing or invalid `target_type`, or a per-target permission failure. parameters: - "$ref": "#/components/parameters/header_organization" operationId: templates-create requestBody: "$ref": "#/components/requestBodies/template" description: |- Create a new template. The `attributes.target_type` field is a discriminator that selects one of four creation paths, each with its own required `model_attributes` shape and permission check. | target_type | Creates | Required `model_attributes` keys | Permission | |---|---|---|---| | `project` | Empty workspace (no copy support — see `/projects/copy`) | `client_id`, `project_manager_id`, `project_type_id`, `workflow_id` | `projects.manage` (project manager) | | `budget` | New quote (or copies one when `target_id` is set) | none required; optional `editor_config`, `tracking_type_id`, `color_id` | `can_manage_budgets?` | | `deal` | New quote (or copies one when `target_id` is set) | none required; optional `editor_config`, `color_id`, `retainer_interval` / `retainer_interval_count` (retainer feature only) | `can_manage_deals?` | | `page` | New page (or copies one when `target_id` is set); supports `copy_attributes.copy_memberships` and `copy_attributes.copy_subpages` | none | `can_manage_docs?` | ### Create a project template (fresh workspace) ```json { "data": { "type": "templates", "attributes": { "name": "Onboarding playbook", "description": "Standard intake project for new clients.", "target_type": "project", "model_attributes": { "client_id": 412, "project_manager_id": 13, "project_type_id": 2, "workflow_id": 1, "project_color_id": 5 } } } } ``` ### Create a budget template (fresh quote) ```json { "data": { "type": "templates", "attributes": { "name": "Standard retainer scaffold", "target_type": "budget", "model_attributes": { "tracking_type_id": 1, "color_id": 5 } } } } ``` ### Create a budget template by copying an existing budget ```json { "data": { "type": "templates", "attributes": { "name": "Q3 enterprise migration template", "target_type": "budget", "target_id": "98231", "model_attributes": { "color_id": 5 } } } } ``` ### Create a deal template ```json { "data": { "type": "templates", "attributes": { "name": "Standard outbound deal", "target_type": "deal", "model_attributes": { "color_id": 5, "retainer_interval": "month", "retainer_interval_count": 12 } } } } ``` ### Create a page template by copying an existing page ```json { "data": { "type": "templates", "attributes": { "name": "Engineering RFC template", "target_type": "page", "target_id": "55421", "copy_attributes": { "copy_memberships": false, "copy_subpages": true } } } } ``` **Save as Template** — to create a project template from an **existing** project (boards, tasks, settings copied), use [`POST /projects/copy`](#tag/Projects/operation/projects-copy) with `attributes.copy_as_template: true`. The `target_type=project` path on this endpoint only creates a **fresh, empty** template. "/api/v2/invoices/{id}": get: tags: - Invoices summary: Gets an invoice responses: '200': "$ref": "#/components/responses/single_invoice" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: invoices-show description: Retrieve a single invoice. delete: tags: - Invoices summary: Deletes an invoice responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: invoices-destroy description: Delete an invoice. patch: tags: - Invoices summary: Update an invoice responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_invoice" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: invoices-update requestBody: "$ref": "#/components/requestBodies/invoice" description: Update an invoice. "/api/v2/pages/copy": post: tags: - Pages summary: Copies a page responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created '200': "$ref": "#/components/responses/single_page" parameters: - "$ref": "#/components/parameters/header_organization" operationId: pages-copy-copy description: Copy an existing page. "/api/v2/comments/{id}/remove_reaction": patch: tags: - Comments summary: Removes reaction from comment responses: '200': "$ref": "#/components/responses/single_comment" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: comments-remove_reaction-remove_reaction description: Remove a reaction from a comment. "/api/v2/projects/{id}/subscribe": patch: tags: - Projects summary: Subscribes to project responses: '200': "$ref": "#/components/responses/single_project" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The numeric ID of the project. operationId: projects-subscribe-subscribe description: Subscribes the current user to project notifications. "/api/v2/purchase_orders/{id}": patch: tags: - Purchase Orders summary: Update a purchase order responses: '200': "$ref": "#/components/responses/single_purchase_order" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: purchase_orders-update requestBody: "$ref": "#/components/requestBodies/purchase_order" description: Update a purchase order. delete: tags: - Purchase Orders summary: Deletes a purchase order responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: purchase_orders-destroy description: Delete a purchase order by ID. get: tags: - Purchase Orders summary: Gets a purchase order responses: '200': "$ref": "#/components/responses/single_purchase_order" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: purchase_orders-show description: Retrieve a single purchase order by ID. "/api/v2/services": get: tags: - Services summary: Get services responses: '200': "$ref": "#/components/responses/collection_service" parameters: - "$ref": "#/components/parameters/sort_service" - "$ref": "#/components/parameters/filter_service" - "$ref": "#/components/parameters/header_organization" operationId: services-index description: List services with optional filters and pagination. post: tags: - Services summary: Create a service responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_service" parameters: - "$ref": "#/components/parameters/header_organization" operationId: services-create requestBody: "$ref": "#/components/requestBodies/service" description: Create a new service on a deal. "/api/v2/tasks/{id}/move_dependent": patch: tags: - Tasks summary: Moves a task and its dependent tasks by a given number of working days responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_task" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: tasks-move-dependent-move-dependent requestBody: "$ref": "#/components/requestBodies/task_move_dependent" description: |- Shifts a task and all of its **blocking-dependent** tasks forward or backward by a number of **working days**. Useful for re-baselining a Gantt schedule when an upstream task slips. Pass `days_count` as a signed integer — positive shifts forward, negative shifts backward. The shift counts only **working days** (weekends and configured non-working days from the organization's working hours are skipped). Closed tasks, tasks without a `due_date`, and tasks the caller cannot access are silently excluded from the move. The dependent graph is walked recursively via blocking dependencies (`task_dependency` rows of type *blocking*). Set `skip_root_task: true` to shift only the dependents and leave the root task in place — useful when only downstream work needs to slide. Defaults to `false`. Each moved task gets a `Gantt - Move dependent tasks` activity entry for auditability. Returns `422` if shifting the dates would conflict with existing time bookings on any of the moved tasks (booking constraints are validated up-front, no partial moves are persisted). ```json { "data": { "type": "tasks", "attributes": { "days_count": 5, "skip_root_task": false } } } ``` "/api/v2/einvoice_identities": get: tags: - E-invoice Identities summary: Gets a list of e-invoice identities responses: '200': "$ref": "#/components/responses/collection_einvoice_identity" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_einvoice_identity" operationId: einvoice_identities-index post: tags: - E-invoice Identities summary: Creates an e-invoice identity responses: '201': "$ref": "#/components/responses/single_einvoice_identity" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: einvoice_identities-create requestBody: "$ref": "#/components/requestBodies/einvoice_identity" "/api/v2/webhooks/{id}": get: tags: - Webhooks summary: Gets a webhook responses: '200': "$ref": "#/components/responses/single_webhook" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: webhooks-show description: Retrieve a single webhook by ID. delete: tags: - Webhooks summary: Deletes a webhook responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: webhooks-destroy description: Delete a webhook by ID. "/api/v2/rate_cards/{id}/restore": patch: tags: - Rate cards summary: Restores a rate card responses: '200': "$ref": "#/components/responses/single_rate_card" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: rate_cards-restore-restore description: Restore an archived rate card. "/api/v2/subsidiaries/{id}": patch: tags: - Subsidiaries summary: Update a subsidiary responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_subsidiary" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: subsidiaries-update requestBody: "$ref": "#/components/requestBodies/subsidiary" description: Update a subsidiary. get: tags: - Subsidiaries summary: Gets a subsidiary responses: '200': "$ref": "#/components/responses/single_subsidiary" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: subsidiaries-show description: Retrieve a single subsidiary by ID. "/api/v2/custom_domains/{id}": delete: tags: - Custom domains summary: Deletes a custom domain responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: custom_domains-destroy description: Delete a custom domain. get: tags: - Custom domains summary: Gets a custom domain responses: '200': "$ref": "#/components/responses/single_custom_domain" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: custom_domains-show description: Retrieve a single custom domain by ID. "/api/v2/task_dependencies": get: tags: - TaskDependency summary: Get task dependencies responses: '200': "$ref": "#/components/responses/collection_task_dependency" parameters: - "$ref": "#/components/parameters/sort_task_dependency" - "$ref": "#/components/parameters/filter_task_dependency" - "$ref": "#/components/parameters/header_organization" operationId: task_dependencies-index description: |- Returns a paginated list of task dependencies. Supports filtering by task, dependent task, type (blocking / waiting on / linked), project, creator, and updater. post: tags: - TaskDependency summary: Create a task dependency responses: '201': "$ref": "#/components/responses/single_task_dependency" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: task_dependencies-create requestBody: "$ref": "#/components/requestBodies/task_dependency" description: |- Creates a directional dependency between two tasks. Requires `task_id`, `dependent_task_id`, and `type_id` (1 = Blocking, 2 = Waiting on, 3 = Linked). A paired reverse record is created automatically (`Blocking` ↔ `Waiting on`; `Linked` is symmetric) — both share lifecycle, so type updates and deletes apply to both. ```json { "data": { "type": "task_dependencies", "attributes": { "task_id": 4421188, "dependent_task_id": 4421199, "type_id": 1 } } } ``` "/api/v2/page_versions": get: tags: - PageVersions summary: Get page_versions responses: '200': "$ref": "#/components/responses/collection_page_version" parameters: - "$ref": "#/components/parameters/filter_page_version" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_page_version" operationId: page_versions-index description: List page versions. post: tags: - PageVersions summary: Create a page_version responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_page_version" parameters: - "$ref": "#/components/parameters/header_organization" operationId: page_versions-create requestBody: "$ref": "#/components/requestBodies/page_version" description: Create a new page version. "/api/v2/time_entries/{id}/unreject": patch: tags: - Time Entries summary: Unreject a time entry responses: '200': "$ref": "#/components/responses/single_time_entry" '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: time_entries-unreject-unreject description: Revoke rejection of a time entry. "/api/v2/boards": get: tags: - Boards summary: Get boards responses: '200': "$ref": "#/components/responses/collection_board" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_board" - "$ref": "#/components/parameters/filter_board" operationId: boards-index description: List boards with optional filters and pagination. post: tags: - Boards summary: Create a board responses: '201': "$ref": "#/components/responses/single_board" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: boards-create requestBody: "$ref": "#/components/requestBodies/board" description: Create a new board. "/api/v2/organizations": get: tags: - Organizations summary: Get organizations responses: '200': "$ref": "#/components/responses/collection_organization" parameters: - "$ref": "#/components/parameters/sort_organization" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_organization" operationId: organizations-index description: List organizations. "/api/v2/people/{id}/invite": patch: tags: - People summary: Invite a person responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_person" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: people-invite-invite description: 'Action used to invite contacts into your Productive organization. By doing so, the contact can accept that invitation and then become a user. ' "/api/v2/holiday_calendars/{id}": get: tags: - Holiday calendars summary: Get a holiday calendar responses: '200': "$ref": "#/components/responses/single_holiday_calendar" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: holiday_calendars-show description: Retrieve a single holiday calendar. delete: tags: - Holiday calendars summary: Deletes a holiday calendar responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: holiday_calendars-destroy description: Delete a holiday calendar. patch: tags: - Holiday calendars summary: Update a holiday calendar responses: '200': "$ref": "#/components/responses/single_holiday_calendar" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: holiday_calendars-update requestBody: "$ref": "#/components/requestBodies/holiday_calendar" description: Update a holiday calendar. "/api/v2/task_lists/{id}": patch: tags: - Task Lists summary: Update a task list responses: '200': "$ref": "#/components/responses/single_task_list" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Returned when the update request body fails validation. parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: task_lists-update requestBody: "$ref": "#/components/requestBodies/task_list" description: Updates a task list. Only the provided attributes are modified — rename it or reassign it to a different folder via `folder_id`. To relocate a task list to a **different project** (which remaps task workflow statuses), use [`PATCH /task_lists/{id}/move`](#tag/Task-Lists/operation/task_lists-move) instead. get: tags: - Task Lists summary: Gets a task list responses: '200': "$ref": "#/components/responses/single_task_list" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: task_lists-show description: Returns a single task list by ID. "/api/v2/approval_statuses/{id}/approve": patch: tags: - Approval Status summary: Approves an approval status responses: '200': "$ref": "#/components/responses/single_approval_status" parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/header_organization" operationId: approval_statuses-approve-approve description: Approves this approval status. Records the current user as the actual approver and advances the target's approval flow — once all required statuses are approved according to the workflow's rule, the target itself becomes approved. Accepts an optional `note`. "/api/v2/organization_memberships/{id}/clear_notifications": patch: tags: - Organization Memberships summary: Clear notifications for organization membership responses: '200': "$ref": "#/components/responses/single_organization_membership" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: organization_memberships-clear_notifications-clear_notifications description: Clear all notifications for an organization membership. "/api/v2/people/{id}": patch: tags: - People summary: Update a person responses: '200': "$ref": "#/components/responses/single_person" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: people-update requestBody: "$ref": "#/components/requestBodies/person" description: Update an existing person's attributes, relationships, or settings. get: tags: - People summary: Get a person responses: '200': "$ref": "#/components/responses/single_person" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: people-show description: Retrieve a single person by ID. "/api/v2/survey_field_options/{id}": patch: tags: - Survey Field Options summary: Updates a survey field option responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_survey_field_option" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the survey field option to update. operationId: survey_field_options-update requestBody: "$ref": "#/components/requestBodies/survey_field_option" description: Update a survey field option. get: tags: - Survey Field Options summary: Gets a survey field option responses: '200': "$ref": "#/components/responses/single_survey_field_option" parameters: - in: path name: id schema: type: string required: true description: The ID of the survey field option to retrieve. - "$ref": "#/components/parameters/header_organization" operationId: survey_field_options-show description: Retrieve a single survey field option by ID. "/api/v2/lost_reasons/{id}": get: tags: - Lost Reasons summary: Gets a lost reason responses: '200': "$ref": "#/components/responses/single_lost_reason" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: lost_reasons-show description: Retrieve a single lost reason. patch: tags: - Lost Reasons summary: Update a lost reason responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_lost_reason" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: lost_reasons-update requestBody: "$ref": "#/components/requestBodies/lost_reason" description: Update a lost reason. "/api/v2/projects/{id}": delete: tags: - Projects summary: Deletes a project responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: projects-destroy description: Delete a project. Permanently deletes a project and all its associated data. get: tags: - Projects summary: Gets a project responses: '200': "$ref": "#/components/responses/single_project" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: projects-show description: Get a project. Returns a single project by ID. patch: tags: - Projects summary: Update a project responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_project" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: projects-update requestBody: "$ref": "#/components/requestBodies/project" description: Update a project. Updates attributes of an existing project. "/api/v2/reports/entitlement_reports": get: tags: - Reports summary: Get entitlement reports responses: '200': "$ref": "#/components/responses/collection_entitlement_report" parameters: - "$ref": "#/components/parameters/sort_entitlement_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_entitlement_report" - "$ref": "#/components/parameters/group_entitlement_report" operationId: reports-entitlement_reports-index description: Retrieve aggregated entitlement report data grouped by configurable dimensions. "/api/v2/expenses/copy": post: tags: - Expenses summary: Copy an expense responses: '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created '200': "$ref": "#/components/responses/single_expense" parameters: - "$ref": "#/components/parameters/header_organization" operationId: expenses-copy-copy requestBody: "$ref": "#/components/requestBodies/expense_copy" description: Copy an expense to create a duplicate. "/api/v2/comments/{id}": delete: tags: - Comments summary: Deletes a comment responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: comments-destroy description: Delete a comment. patch: tags: - Comments summary: Update a comment responses: '200': "$ref": "#/components/responses/single_comment" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: comments-update requestBody: "$ref": "#/components/requestBodies/comment" description: Updates a comment's editable fields. The `creator` is fixed at creation time and cannot be changed. get: tags: - Comments summary: Gets a comment responses: '200': "$ref": "#/components/responses/single_comment" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: comments-show description: Retrieve a single comment by ID. "/api/v2/reports/booking_reports": get: tags: - Reports summary: Get booking reports responses: '200': "$ref": "#/components/responses/collection_booking_report" parameters: - "$ref": "#/components/parameters/sort_booking_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/group_booking_report" - "$ref": "#/components/parameters/filter_booking_report" operationId: reports-booking_reports-index description: Retrieve aggregated booking report data grouped by configurable dimensions. "/api/v2/reports/survey_reports": get: tags: - Reports summary: Get survey reports responses: '200': "$ref": "#/components/responses/collection_survey_report" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_survey_report" - "$ref": "#/components/parameters/group_survey_report" - "$ref": "#/components/parameters/sort_survey_report" operationId: reports-survey_reports-index description: Retrieve aggregated survey report data grouped by configurable dimensions. "/api/v2/integrations/{id}/check": get: tags: - Integrations summary: Checks if integration is valid responses: '200': "$ref": "#/components/responses/single_integration" '405': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Method Not Allowed parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: integrations-check-check description: Check the connection status of an integration. "/api/v2/projects": post: tags: - Projects summary: Create a project responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_project" parameters: - "$ref": "#/components/parameters/header_organization" operationId: projects-create requestBody: "$ref": "#/components/requestBodies/project" description: Create a project. Creates a new project with the specified attributes. Requires a client company, project manager, project type, and workflow. get: tags: - Projects summary: Get projects responses: '200': "$ref": "#/components/responses/collection_project" parameters: - "$ref": "#/components/parameters/filter_project" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_project" operationId: projects-index description: List projects. Returns a paginated collection of projects accessible to the authenticated user. Supports filtering, sorting, and including related resources. "/api/v2/prices/{id}": patch: tags: - Prices summary: Update a price responses: '200': "$ref": "#/components/responses/single_price" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: prices-update requestBody: "$ref": "#/components/requestBodies/price" description: Update a price. delete: tags: - Prices summary: Deletes a price responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: prices-destroy description: Delete a price by ID. get: tags: - Prices summary: Gets a price responses: '200': "$ref": "#/components/responses/single_price" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: prices-show description: Retrieve a single price by ID. "/api/v2/attachments/{id}": get: tags: - Attachments summary: Get an attachment responses: '200': "$ref": "#/components/responses/single_attachment" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: attachments-show description: Retrieve a single attachment by ID. delete: tags: - Attachments summary: Delete an attachment responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: attachments-destroy description: Delete an attachment. patch: tags: - Attachments summary: Update an attachment responses: '200': "$ref": "#/components/responses/single_attachment" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: attachments-update requestBody: "$ref": "#/components/requestBodies/attachment" description: Update an attachment. "/api/v2/deals/create_from_origin": post: tags: - Deals summary: Creates a budget from origin deal responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created '200': "$ref": "#/components/responses/single_deal" parameters: - "$ref": "#/components/parameters/header_organization" operationId: deals-create_from_origin-create_from_origin description: Create a new deal from an origin deal. "/api/v2/bank_accounts/{id}": patch: tags: - BankAccounts summary: Update a bank account responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/single_bank_account" parameters: - in: path name: id schema: type: string required: true description: The ID of the bank account to update. - "$ref": "#/components/parameters/header_organization" operationId: bank_accounts-update requestBody: "$ref": "#/components/requestBodies/bank_account" description: Update a bank account. get: tags: - BankAccounts summary: Gets a bank account responses: '200': "$ref": "#/components/responses/single_bank_account" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden parameters: - in: path name: id schema: type: string required: true description: The ID of the bank account to retrieve. - "$ref": "#/components/parameters/header_organization" operationId: bank_accounts-show description: Retrieve a single bank account by ID. "/api/v2/rate_cards": post: tags: - Rate cards summary: Create a price responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_rate_card" parameters: - "$ref": "#/components/parameters/header_organization" operationId: rate_cards-create requestBody: "$ref": "#/components/requestBodies/rate_card" description: Create a new rate card. get: tags: - Rate cards summary: Get rate cards responses: '200': "$ref": "#/components/responses/collection_rate_card" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_rate_card" - "$ref": "#/components/parameters/filter_rate_card" operationId: rate_cards-index description: List all rate cards. "/api/v2/comments": post: tags: - Comments summary: Create a comment responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_comment" parameters: - "$ref": "#/components/parameters/header_organization" operationId: comments-create requestBody: "$ref": "#/components/requestBodies/comment" description: Creates a comment. The `creator` is set to the authenticated user making the request, so historical comments imported through a single integration token cannot preserve their original authors. get: tags: - Comments summary: Get comments responses: '200': "$ref": "#/components/responses/collection_comment" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_comment" - "$ref": "#/components/parameters/filter_comment" operationId: comments-index description: List comments with optional filters and pagination. "/api/v2/document_types/{id}": patch: tags: - Document Types summary: Update a document_type responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/single_document_type" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: document_types-update requestBody: "$ref": "#/components/requestBodies/document_type" description: Update a document type. get: tags: - Document Types summary: Gets a document_type responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/single_document_type" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: document_types-show description: Retrieve a single document type. "/api/v2/service_type_assignments/{id}": get: tags: - Service Type Assignments summary: Gets a service type assignment responses: '200': "$ref": "#/components/responses/single_service_type_assignment" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: service_type_assignments-show description: Retrieve a single service type assignment by ID. patch: tags: - Service Type Assignments summary: Update a service type assignment responses: '200': "$ref": "#/components/responses/single_service_type_assignment" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: service_type_assignments-update requestBody: "$ref": "#/components/requestBodies/service_type_assignment" description: Update a service type assignment. delete: tags: - Service Type Assignments summary: Deletes a service type assignment responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: service_type_assignments-destroy description: Delete a service type assignment by ID. "/api/v2/custom_field_options": post: tags: - Custom Field Options summary: Creates a custom field option responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_custom_field_option" parameters: - "$ref": "#/components/parameters/header_organization" operationId: custom_field_options-create requestBody: "$ref": "#/components/requestBodies/custom_field_option" description: Create a new custom field option. get: tags: - Custom Field Options summary: Get custom field options responses: '200': "$ref": "#/components/responses/collection_custom_field_option" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_custom_field_option" - "$ref": "#/components/parameters/sort_custom_field_option" operationId: custom_field_options-index description: List custom field options with optional filters and pagination. "/api/v2/approval_policy_assignments": post: tags: - Approval Policy Assignment summary: Creates the approval policy assignment responses: '201': "$ref": "#/components/responses/single_approval_policy_assignment" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: approval_policy_assignments-create requestBody: "$ref": "#/components/requestBodies/approval_policy_assignment" description: Create a new approval policy assignment. get: tags: - Approval Policy Assignment summary: Get approval policy assignments responses: '200': "$ref": "#/components/responses/collection_approval_policy_assignment" parameters: - "$ref": "#/components/parameters/sort_approval_policy_assignment" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_approval_policy_assignment" operationId: approval_policy_assignments-index description: List approval policy assignments with optional filters and pagination. "/api/v2/exchange_rates": get: tags: - Exchange Rates summary: Get exchange rates responses: '200': "$ref": "#/components/responses/collection_exchange_rate" parameters: - "$ref": "#/components/parameters/sort_exchange_rate" - "$ref": "#/components/parameters/filter_exchange_rate" - "$ref": "#/components/parameters/header_organization" operationId: exchange_rates-index description: List exchange rates. "/api/v2/passwords/{id}": patch: tags: - Passwords summary: Update a password responses: '200': "$ref": "#/components/responses/single_password" '204': content: any: {} headers: {} description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: passwords-update requestBody: "$ref": "#/components/requestBodies/password" description: Update a password reset. get: tags: - Passwords summary: Gets a password responses: '404': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Not Found '200': "$ref": "#/components/responses/single_password" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: passwords-show description: Retrieve a single password reset by ID. "/api/v2/folders/copy": post: tags: - Folders summary: Copy a folder responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: The folder could not be copied due to validation errors. '201': "$ref": "#/components/responses/single_folder" parameters: - "$ref": "#/components/parameters/header_organization" operationId: folders-copy-copy requestBody: "$ref": "#/components/requestBodies/folder_copy" description: |- Creates a new folder by copying a **source folder** (`template_id`) into a target project. By default only the folder shell is copied; enable the `copy_*` flags to duplicate its task lists, tasks, and their details. Required: `name`, `template_id` (the source folder), and `project_id`. ### Copy flags Copying cascades through levels: enable `copy_task_lists` to bring over the folder's task lists, then `copy_open_tasks` / `copy_closed_tasks` to bring over their tasks, then the per-task flags to bring over task details. All `copy_*` flags default to `false`. | Flag(s) | Prerequisite | Notes | |---|---|---| | `copy_task_lists` | — | The "task lists" gate | | `copy_open_tasks`, `copy_closed_tasks` | `copy_task_lists` | The "tasks" gate | | `copy_task_comments`, `copy_task_description`, `copy_task_subscribers`, `copy_task_attachments` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_task_open_todos`, `copy_task_closed_todos` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_task_open_subtasks`, `copy_task_closed_subtasks` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_task_dependencies` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_assignees`, `copy_tags`, `copy_due_date`, `copy_start_date`, `copy_repeat`, `copy_estimate` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_custom_fields` | `copy_open_tasks` or `copy_closed_tasks` | Task custom field values | Enabling tasks without `copy_task_lists` returns `422` (`task_lists_required`); enabling any per-task flag without a tasks gate returns `422` (`tasks_required`). ### Minimal copy (shell only) ```json { "data": { "type": "folders", "attributes": { "name": "Design (copy)", "template_id": 88440, "project_id": 31002 } } } ``` ### Full copy with task lists and tasks ```json { "data": { "type": "folders", "attributes": { "name": "Design (copy)", "template_id": 88440, "project_id": 31002, "copy_task_lists": true, "copy_open_tasks": true, "copy_task_comments": true, "copy_task_description": true, "copy_task_subscribers": true, "copy_task_attachments": true, "copy_task_open_todos": true, "copy_task_open_subtasks": true, "copy_task_dependencies": true, "copy_assignees": true, "copy_tags": true, "copy_due_date": true, "copy_start_date": true, "copy_repeat": true, "copy_estimate": true, "copy_custom_fields": true } } } ``` "/api/v2/time_tracking_policies/{id}/restore": patch: tags: - Time Tracking Policies summary: Restores an archived time tracking policy responses: '200': "$ref": "#/components/responses/single_time_tracking_policy" parameters: - in: path name: id schema: type: string required: true description: The numeric ID of the time tracking policy. - "$ref": "#/components/parameters/header_organization" operationId: time_tracking_policies-restore-restore description: Restores a previously archived time tracking policy. "/api/v2/deal_cost_rates/{id}": patch: tags: - Deal Cost Rates summary: Update a deal cost rate responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_deal_cost_rate" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: deal_cost_rates-update requestBody: "$ref": "#/components/requestBodies/deal_cost_rate" description: Update a deal cost rate. delete: tags: - Deal Cost Rates summary: Deletes a deal cost rate responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: deal_cost_rates-destroy description: Delete a deal cost rate. get: tags: - Deal Cost Rates summary: Gets a deal cost rate responses: '200': "$ref": "#/components/responses/single_deal_cost_rate" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: deal_cost_rates-show description: Retrieve a single deal cost rate by ID. "/api/v2/workflows/{id}": delete: tags: - Workflows summary: Deletes a workflow responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: workflows-destroy description: Delete a workflow by ID. get: tags: - Workflows summary: Gets a workflow responses: '200': "$ref": "#/components/responses/single_workflow" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: workflows-show description: Retrieve a single workflow by ID. patch: tags: - Workflows summary: Update an workflow responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_workflow" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: workflows-update requestBody: "$ref": "#/components/requestBodies/workflow" description: Update a workflow. "/api/v2/team_memberships": get: tags: - Team Memberships summary: Get team memberships responses: '200': "$ref": "#/components/responses/collection_team_membership" parameters: - "$ref": "#/components/parameters/filter_team_membership" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_team_membership" operationId: team_memberships-index description: List all team memberships. post: tags: - Team Memberships summary: Create a team membership responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_team_membership" parameters: - "$ref": "#/components/parameters/header_organization" operationId: team_memberships-create requestBody: "$ref": "#/components/requestBodies/team_membership" description: Create a new team membership. "/api/v2/proposals/{id}/sync": patch: tags: - Proposals summary: Sync a proposal responses: '200': "$ref": "#/components/responses/single_proposal" '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - in: path name: id schema: type: string required: true description: The ID of the proposal to sync. - "$ref": "#/components/parameters/header_organization" operationId: proposals-sync-sync description: Sync a proposal with the associated deal. "/api/v2/tax_rates/{id}": get: tags: - TaxRates summary: Gets a tax rate responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/single_tax_rate" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: tax_rates-show description: Retrieve a single tax rate by ID. patch: tags: - TaxRates summary: Update a tax rate responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/single_tax_rate" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: tax_rates-update requestBody: "$ref": "#/components/requestBodies/tax_rate" description: Update a tax rate. "/api/v2/comments/{id}/pin": patch: tags: - Comments summary: Pins a comment responses: '200': "$ref": "#/components/responses/single_comment" '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: comments-pin-pin description: Pin a comment. "/api/v2/companies/{id}/archive": patch: tags: - Companies summary: Archives a company responses: '200': "$ref": "#/components/responses/single_company" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: companies-archive-archive description: Archive a company. "/api/v2/organization_subscriptions/{id}/retry_last_payment": patch: tags: - Organization Subscriptions summary: Retry last payment for a organization subscription responses: '200': "$ref": "#/components/responses/single_organization_subscription" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: organization_subscriptions-retry_last_payment-retry_last_payment description: Retry the last failed payment for an organization subscription. "/api/v2/deal_statuses/{id}": get: tags: - Deal Statuses summary: Gets a deal status responses: '200': "$ref": "#/components/responses/single_deal_status" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: deal_statuses-show description: Retrieve a single deal status by ID. delete: tags: - Deal Statuses summary: Destroy a deal status responses: '204': description: No Content '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: deal_statuses-destroy description: Delete a deal status. patch: tags: - Deal Statuses summary: Update a deal status responses: '200': "$ref": "#/components/responses/single_deal_status" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: deal_statuses-update requestBody: "$ref": "#/components/requestBodies/deal_status" description: Update a deal status. "/api/v2/pages/{id}/publish": patch: tags: - Pages summary: Publishes a page responses: '200': "$ref": "#/components/responses/single_page" '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the page to publish. operationId: pages-publish-publish description: Publish a page to make it publicly visible. "/api/v2/approval_statuses/{id}/reject": patch: tags: - Approval Status summary: Rejects an approval status responses: '200': "$ref": "#/components/responses/single_approval_status" parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/header_organization" operationId: approval_statuses-reject-reject "/api/v2/activities": get: tags: - Activities summary: Get activities responses: '200': "$ref": "#/components/responses/collection_activity" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_activity" - "$ref": "#/components/parameters/sort_activity" operationId: activities-index description: List activities with optional filters and pagination. "/api/v2/projects/{id}/archive": patch: tags: - Projects summary: Archives a project responses: '200': "$ref": "#/components/responses/single_project" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: projects-archive-archive description: Archive a project. Moves a project to archived status, hiding it from active project lists. "/api/v2/custom_domains": post: tags: - Custom domains summary: Create a custom domain responses: '201': "$ref": "#/components/responses/single_custom_domain" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: custom_domains-create requestBody: "$ref": "#/components/requestBodies/custom_domain" description: Create a new custom domain. get: tags: - Custom domains summary: Get custom domains responses: '200': "$ref": "#/components/responses/collection_custom_domain" parameters: - "$ref": "#/components/parameters/filter_custom_domain" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_custom_domain" operationId: custom_domains-index description: List custom domains with optional filters and pagination. "/api/v2/einvoice_identities/{id}": patch: tags: - E-invoice Identities summary: Updates an e-invoice identity responses: '200': "$ref": "#/components/responses/single_einvoice_identity" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/header_organization" operationId: einvoice_identities-update requestBody: "$ref": "#/components/requestBodies/einvoice_identity" get: tags: - E-invoice Identities summary: Gets an e-invoice identity responses: '200': "$ref": "#/components/responses/single_einvoice_identity" parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/header_organization" operationId: einvoice_identities-show "/api/v2/resource_requests/{id}": get: tags: - Resource Requests summary: Gets a resource request responses: '200': "$ref": "#/components/responses/single_resource_request" parameters: - in: path name: id schema: type: string required: true description: The ID of the resource request to retrieve. - "$ref": "#/components/parameters/header_organization" operationId: resource_requests-show description: Returns a single resource request by ID. delete: tags: - Resource Requests summary: Deletes a resource request responses: '204': description: The resource request was successfully deleted. parameters: - in: path name: id schema: type: string required: true description: The ID of the resource request to delete. - "$ref": "#/components/parameters/header_organization" operationId: resource_requests-destroy description: Deletes a resource request by ID. patch: tags: - Resource Requests summary: Update a resource request responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: The resource request could not be updated due to validation errors. '200': "$ref": "#/components/responses/single_resource_request" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the resource request to update. operationId: resource_requests-update description: Updates an existing resource request by ID. "/api/v2/integrations/{id}/connect": patch: tags: - Integrations responses: '200': "$ref": "#/components/responses/single_integration" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: The integration could not be connected due to validation errors. parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The numeric ID of the integration. operationId: integrations-connect-connect description: Completes the OAuth connection flow for an integration by exchanging the authorization code for access tokens. "/api/v2/purchase_orders/{id}/export": patch: tags: - Purchase Orders summary: Exports a purchase order responses: '200': "$ref": "#/components/responses/single_purchase_order" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: purchase_orders-export-export requestBody: "$ref": "#/components/requestBodies/purchase_order_export" description: Export a purchase order to an external format. "/api/v2/proposals": post: tags: - Proposals summary: Create a proposal responses: '201': "$ref": "#/components/responses/single_proposal" parameters: - "$ref": "#/components/parameters/header_organization" operationId: proposals-create description: Create a new proposal. get: tags: - Proposals summary: Get proposals responses: '200': "$ref": "#/components/responses/collection_proposal" parameters: - "$ref": "#/components/parameters/filter_proposal" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_proposal" operationId: proposals-index description: List all proposals. "/api/v2/reports/time_reports": get: tags: - Reports summary: Get time reports responses: '200': "$ref": "#/components/responses/collection_new_time_report" parameters: - "$ref": "#/components/parameters/group_new_time_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_new_time_report" - "$ref": "#/components/parameters/sort_new_time_report" operationId: reports-time_reports-index description: Retrieve aggregated time report data grouped by configurable dimensions. "/api/v2/task_lists": get: tags: - Task Lists summary: Get task lists responses: '200': "$ref": "#/components/responses/collection_task_list" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_task_list" - "$ref": "#/components/parameters/filter_task_list" operationId: task_lists-index description: Returns a paginated list of task lists — the task groupings inside a project's folders. By default, task lists that belong to project templates are excluded; filtering by a specific project returns its task lists even when that project is a template. Supports filtering by project, folder, status, and free-text query, and sorting by board, folder, project, or company name. post: tags: - Task Lists summary: Create a task list responses: '201': "$ref": "#/components/responses/single_task_list" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: task_lists-create requestBody: "$ref": "#/components/requestBodies/task_list" description: |- Creates a task list inside a folder. Requires a `name`, the `project_id`, and the target `folder_id`. ```json { "data": { "type": "task_lists", "attributes": { "name": "Sprint 5", "project_id": 31002, "folder_id": 7781 } } } ``` "/api/v2/people/{id}/archive": patch: tags: - People summary: Archive a person responses: '200': "$ref": "#/components/responses/single_person" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: people-archive-archive description: Archive a person record. Archived people are hidden from most views and cannot log in. "/api/v2/payment_reminder_sequences/{id}": get: tags: - Payment reminder sequences summary: Gets a payment reminder sequence responses: '200': "$ref": "#/components/responses/single_payment_reminder_sequence" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: payment_reminder_sequences-show description: Retrieve a single payment reminder sequence by ID. delete: tags: - Payment reminder sequences summary: Deletes a payment reminder sequence responses: '204': description: No Content '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: payment_reminder_sequences-destroy description: Delete a payment reminder sequence by ID. patch: tags: - Payment reminder sequences summary: Update a payment reminder sequence responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/single_payment_reminder_sequence" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: payment_reminder_sequences-update requestBody: "$ref": "#/components/requestBodies/payment_reminder_sequence" description: Update a payment reminder sequence. "/api/v2/filters/{id}": patch: tags: - Filters summary: Update a filter responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_filter" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: filters-update requestBody: "$ref": "#/components/requestBodies/filter" description: Update a filter. delete: tags: - Filters summary: Deletes a filter responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: filters-destroy description: Delete a filter. get: tags: - Filters summary: Gets a filter responses: '200': "$ref": "#/components/responses/single_filter" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: filters-show description: Retrieve a single filter. "/api/v2/placeholders": post: tags: - Placeholders summary: Create a placeholder responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_placeholder" parameters: - "$ref": "#/components/parameters/header_organization" operationId: placeholders-create requestBody: "$ref": "#/components/requestBodies/placeholder" description: Create a new placeholder. get: tags: - Placeholders summary: Get placeholders responses: '200': "$ref": "#/components/responses/collection_placeholder" parameters: - "$ref": "#/components/parameters/filter_placeholder" - "$ref": "#/components/parameters/sort_placeholder" - "$ref": "#/components/parameters/header_organization" operationId: placeholders-index description: List all placeholders. "/api/v2/boards/{id}/restore": patch: tags: - Boards summary: Restores a board responses: '200': "$ref": "#/components/responses/single_board" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: boards-restore-restore description: Restore a board. "/api/v2/placeholders/{id}": get: tags: - Placeholders summary: Gets a placeholder responses: '200': "$ref": "#/components/responses/single_placeholder" parameters: - in: path name: id schema: type: string required: true description: The ID of the placeholder to retrieve. - "$ref": "#/components/parameters/header_organization" operationId: placeholders-show description: Retrieve a single placeholder by ID. delete: tags: - Placeholders summary: Deletes a placeholder responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the placeholder to delete. operationId: placeholders-destroy description: Delete a placeholder by ID. patch: tags: - Placeholders summary: Update a placeholder responses: '200': "$ref": "#/components/responses/single_placeholder" parameters: - in: path name: id schema: type: string required: true description: The ID of the placeholder to update. - "$ref": "#/components/parameters/header_organization" operationId: placeholders-update requestBody: "$ref": "#/components/requestBodies/placeholder" description: Update a placeholder. "/api/v2/pages/{id}/replace_body_with_markdown": patch: tags: - Pages summary: Replace a page body with markdown responses: '502': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Bad Gateway — the docs-realtime service returned an error or could not be reached. '200': "$ref": "#/components/responses/single_page" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity — the request body is missing the required `markdown` field. '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden — the current user does not have permission to edit the target page. parameters: - in: path name: id schema: type: string required: true description: The ID of the page whose body will be replaced. - "$ref": "#/components/parameters/header_organization" operationId: pages-proxy-replace-body-with-markdown requestBody: "$ref": "#/components/requestBodies/page_markdown_body" description: Replace a page's entire body with the supplied markdown. The markdown is converted to the page's rich-text representation and applied through the docs-realtime collaboration service so concurrent editors see the change immediately. "/api/v2/report_categories/{id}": get: tags: - Report Category summary: Gets a report category responses: '200': "$ref": "#/components/responses/single_report_category" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: report_categories-show description: Retrieve a specific report category by ID. patch: tags: - Report Category summary: Update a report category responses: '200': "$ref": "#/components/responses/single_report_category" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: report_categories-update requestBody: "$ref": "#/components/requestBodies/report_category" description: Update an existing report category. delete: tags: - Report Category summary: Deletes a report category responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: report_categories-destroy description: Delete a report category. "/api/v2/roles/{id}": patch: tags: - Permission Sets summary: Update a permission set responses: '200': "$ref": "#/components/responses/single_role" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true operationId: roles-update requestBody: "$ref": "#/components/requestBodies/role" get: tags: - Permission Sets summary: Get a permission set responses: '200': "$ref": "#/components/responses/single_role" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: roles-show description: Retrieve a single role by ID. delete: tags: - Permission Sets summary: Delete a permission set responses: '204': content: any: {} headers: {} description: No Content parameters: - in: path name: id schema: type: string required: true - "$ref": "#/components/parameters/header_organization" operationId: roles-destroy "/api/v2/timers": get: tags: - Timers summary: Get timers responses: '200': "$ref": "#/components/responses/collection_timer" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_timer" - "$ref": "#/components/parameters/filter_timer" operationId: timers-index description: List all timers. post: tags: - Timers summary: Create an timer responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_timer" parameters: - "$ref": "#/components/parameters/header_organization" operationId: timers-create requestBody: "$ref": "#/components/requestBodies/timer" description: Create a new timer. "/api/v2/invitations": post: tags: - Invitations summary: Create an invitation responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_invitation" parameters: - "$ref": "#/components/parameters/header_organization" operationId: invitations-create requestBody: "$ref": "#/components/requestBodies/invitation" description: Create a new invitation. "/api/v2/todos": get: tags: - Todos summary: Get todos responses: '200': "$ref": "#/components/responses/collection_todo" parameters: - "$ref": "#/components/parameters/sort_todo" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_todo" operationId: todos-index description: Returns a paginated list of todos — checklist items attached to tasks or deals. Supports filtering by assignee, due date, task, deal, todoable type, and status (open/closed). post: tags: - Todos summary: Create a todo responses: '201': "$ref": "#/components/responses/single_todo" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: todos-create requestBody: "$ref": "#/components/requestBodies/todo" description: |- Creates a todo on either a task or a deal — provide the `description` and one of `task_id` or `deal_id`. Optionally set `assignee_id` and `closed`. `due_date` applies only to **deal todos**. ### Task todo ```json { "data": { "type": "todos", "attributes": { "description": "Review the design draft", "task_id": 4421188, "assignee_id": 314 } } } ``` ### Deal todo ```json { "data": { "type": "todos", "attributes": { "description": "Follow up on contract terms", "deal_id": 88401, "assignee_id": 314, "due_date": "2026-06-01" } } } ``` "/api/v2/notifications": get: tags: - Notifications summary: Get notifications responses: '200': "$ref": "#/components/responses/collection_notification" parameters: - "$ref": "#/components/parameters/filter_notification" - "$ref": "#/components/parameters/sort_notification" - "$ref": "#/components/parameters/header_organization" operationId: notifications-index description: List notifications. "/api/v2/discussions/{id}/unsubscribe": patch: tags: - Discussions summary: Unsubscribes from discussion responses: '200': "$ref": "#/components/responses/single_discussion" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: discussions-unsubscribe-unsubscribe description: Unsubscribe from a discussion. "/api/v2/emails": get: tags: - Emails summary: Get emails responses: '200': "$ref": "#/components/responses/collection_email" parameters: - "$ref": "#/components/parameters/sort_email" - "$ref": "#/components/parameters/filter_email" - "$ref": "#/components/parameters/header_organization" operationId: emails-index description: List emails. "/api/v2/automatic_invoicing_rules": get: tags: - Automatic Invoicing Rules summary: Get automatic invoicing rules responses: '200': "$ref": "#/components/responses/collection_automatic_invoicing_rule" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_automatic_invoicing_rule" - "$ref": "#/components/parameters/sort_automatic_invoicing_rule" operationId: automatic_invoicing_rules-index description: List automatic invoicing rules with optional filters and pagination. post: tags: - Automatic Invoicing Rules summary: Create an automatic invoicing rule responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_automatic_invoicing_rule" parameters: - "$ref": "#/components/parameters/header_organization" operationId: automatic_invoicing_rules-create requestBody: "$ref": "#/components/requestBodies/automatic_invoicing_rule" description: Create a new automatic invoicing rule. "/api/v2/reports/financial_item_reports": get: tags: - Reports summary: Get financial item reports responses: '200': "$ref": "#/components/responses/collection_financial_item_report" parameters: - "$ref": "#/components/parameters/filter_financial_item_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/group_financial_item_report" - "$ref": "#/components/parameters/sort_financial_item_report" operationId: reports-financial_item_reports-index description: Retrieve aggregated financial item report data grouped by configurable dimensions. "/api/v2/expenses": post: tags: - Expenses summary: Create a expense responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_expense" parameters: - "$ref": "#/components/parameters/header_organization" operationId: expenses-create requestBody: "$ref": "#/components/requestBodies/expense" description: Create a new expense and associate it with a budget service. get: tags: - Expenses summary: Get expenses responses: '200': "$ref": "#/components/responses/collection_expense" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_expense" - "$ref": "#/components/parameters/sort_expense" operationId: expenses-index description: List expenses. Returns a paginated collection of expenses matching the specified filters. patch: tags: - Expenses - Bulk summary: Update expenses responses: '200': "$ref": "#/components/responses/single_expense" parameters: - "$ref": "#/components/parameters/header_organization" operationId: expenses-update-bulk requestBody: "$ref": "#/components/requestBodies/expense" description: Bulk update expenses. delete: tags: - Expenses - Bulk summary: Delete expenses responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" operationId: expenses-destroy-bulk description: Bulk delete expenses. "/api/v2/reports/salary_reports": get: tags: - Reports summary: Get salary reports responses: '200': "$ref": "#/components/responses/collection_new_salary_report" parameters: - "$ref": "#/components/parameters/filter_new_salary_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/group_new_salary_report" - "$ref": "#/components/parameters/sort_new_salary_report" operationId: reports-salary_reports-index description: Retrieve aggregated salary report data grouped by configurable dimensions. "/api/v2/pages/{id}/unpublish": patch: tags: - Pages summary: Unpublishes a page responses: '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict '200': "$ref": "#/components/responses/single_page" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the page to unpublish. operationId: pages-unpublish-unpublish description: Unpublish a page to remove it from public visibility. "/api/v2/bank_accounts/{id}/archive": patch: tags: - BankAccounts summary: Archives a bank account responses: '200': "$ref": "#/components/responses/single_bank_account" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden parameters: - in: path name: id schema: type: string required: true description: The ID of the bank account to archive. - "$ref": "#/components/parameters/header_organization" operationId: bank_accounts-archive-archive description: Archive a bank account. "/api/v2/contact_entries/{id}": get: tags: - Contact Entries summary: Gets a contact entry responses: '200': "$ref": "#/components/responses/single_contact_entry" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: contact_entries-show description: Retrieve a single contact entry by ID. patch: tags: - Contact Entries summary: Update a contact entry responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_contact_entry" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: contact_entries-update requestBody: "$ref": "#/components/requestBodies/contact_entry" description: Update a contact entry. delete: tags: - Contact Entries summary: Deletes a contact entry responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: contact_entries-destroy description: Delete a contact entry. "/api/v2/comments/{id}/unpin": patch: tags: - Comments summary: Unpins a comment responses: '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict '200': "$ref": "#/components/responses/single_comment" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: comments-unpin-unpin description: Unpin a comment. "/api/v2/widgets": post: tags: - Widgets summary: Create a widget responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_widget" parameters: - "$ref": "#/components/parameters/header_organization" operationId: widgets-create requestBody: "$ref": "#/components/requestBodies/widget" description: Create a new widget. get: tags: - Widgets summary: Get all widgets responses: '200': "$ref": "#/components/responses/collection_widget" parameters: - "$ref": "#/components/parameters/filter_widget" - "$ref": "#/components/parameters/sort_widget" - "$ref": "#/components/parameters/header_organization" operationId: widgets-index description: List all widgets. "/api/v2/tasks/copy": post: tags: - Tasks summary: Copies a task responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_task" parameters: - "$ref": "#/components/parameters/header_organization" operationId: tasks-copy-copy requestBody: "$ref": "#/components/requestBodies/task_copy" description: |- Creates a new task by copying a **source task** (`template_id`) into a target project, task list, and workflow status. By default only the task shell is copied; enable the `copy_*` flags to duplicate its details. Required: `title`, `template_id` (the source task), `project_id`, `task_list_id`, `workflow_status_id`, and `private`. Set `parent_task_id` to copy the source as a **subtask** under another task. Set `copy_as_task_template: true` together with `template_description` to save the result as a reusable task template. ### Copy flags All `copy_*` flags default to `false`. Each flag is evaluated independently — the source task is always copied; the flags control which related data follows. | Flag(s) | Prerequisite | Notes | |---|---|---| | `copy_open_subtasks`, `copy_closed_subtasks` | — | Recursive — subtask copying respects the same `copy_*` flags | | `copy_open_todos`, `copy_closed_todos` | — | — | | `copy_comments`, `copy_description`, `copy_attachments`, `copy_subscribers` | — | — | | `copy_assignee`, `copy_tags`, `copy_date`, `copy_repeat`, `copy_estimate` | — | — | | `copy_task_dependencies` | — | Blocking, waiting-on, and linked | | `copy_custom_fields` | — | Task custom field values | | `copy_as_task_template` | — | Registers the result as a reusable task template | `private: true` rejects `copy_open_subtasks`, `copy_closed_subtasks`, and `copy_as_task_template` (`422 task_private_not_allowed`). `copy_as_task_template: true` rejects `copy_task_dependencies` (`422 task_dependencies_not_allowed_on_template`). ### Minimal copy (shell only) ```json { "data": { "type": "tasks", "attributes": { "title": "New empty task from source", "template_id": 5560123, "project_id": 31002, "task_list_id": 7781, "workflow_status_id": 101, "private": false } } } ``` ### Full copy with task details ```json { "data": { "type": "tasks", "attributes": { "title": "Onboarding checklist — Acme", "template_id": 5560123, "project_id": 31002, "task_list_id": 7781, "workflow_status_id": 101, "private": false, "copy_assignee": true, "copy_date": true, "copy_repeat": true, "copy_estimate": true, "copy_description": true, "copy_tags": true, "copy_subscribers": true, "copy_attachments": true, "copy_comments": true, "copy_custom_fields": true, "copy_open_todos": true, "copy_open_subtasks": true, "copy_task_dependencies": true } } } ``` "/api/v2/time_entries": delete: tags: - Time Entries - Bulk summary: Deletes time entries responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" operationId: time_entries-destroy-bulk description: Delete multiple time entries. post: tags: - Time Entries - Bulk summary: Create time entries responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_time_entry" parameters: - "$ref": "#/components/parameters/header_organization" operationId: time_entries-create-bulk requestBody: "$ref": "#/components/requestBodies/time_entry" description: Create a new time entry. get: tags: - Time Entries summary: Get time entries responses: '400': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Bad Request '200': "$ref": "#/components/responses/collection_time_entry" parameters: - "$ref": "#/components/parameters/sort_time_entry" - "$ref": "#/components/parameters/filter_time_entry" - "$ref": "#/components/parameters/header_organization" operationId: time_entries-index description: List time entries with optional filters and pagination. patch: tags: - Time Entries - Bulk summary: Update time entries responses: '200': "$ref": "#/components/responses/single_time_entry" parameters: - "$ref": "#/components/parameters/header_organization" operationId: time_entries-update-bulk requestBody: "$ref": "#/components/requestBodies/time_entry" description: Update multiple time entries. "/api/v2/reports/deal_funnel_reports": get: tags: - Reports summary: Get funnel reports responses: '200': "$ref": "#/components/responses/collection_deal_funnel_report" parameters: - "$ref": "#/components/parameters/sort_deal_funnel_report" - "$ref": "#/components/parameters/filter_deal_funnel_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/group_deal_funnel_report" operationId: reports-deal_funnel_reports-index description: Retrieve aggregated deal funnel report data grouped by configurable dimensions. "/api/v2/projects/{id}/change_workflow": patch: tags: - Projects summary: Changes workflow on project responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_project" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: projects-change_workflow-change_workflow requestBody: "$ref": "#/components/requestBodies/project_change_workflow" description: Change workflow. Changes the task workflow used by this project, remapping existing task statuses to the new workflow. "/api/v2/proposals/{id}": delete: tags: - Proposals summary: Deletes a proposal responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the proposal to delete. operationId: proposals-destroy description: Delete a proposal by ID. patch: tags: - Proposals summary: Update a proposal responses: '200': "$ref": "#/components/responses/single_proposal" parameters: - in: path name: id schema: type: string required: true description: The ID of the proposal to update. - "$ref": "#/components/parameters/header_organization" operationId: proposals-update description: Update a proposal. get: tags: - Proposals summary: Gets a proposal responses: '200': "$ref": "#/components/responses/single_proposal" parameters: - in: path name: id schema: type: string required: true description: The ID of the proposal to retrieve. - "$ref": "#/components/parameters/header_organization" operationId: proposals-show description: Retrieve a single proposal by ID. "/api/v2/people/{id}/virtualize": patch: tags: - People summary: Virtualize a person responses: '200': "$ref": "#/components/responses/single_person" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: people-virtualize-virtualize description: Convert a person to a virtual (non-seat) record, used for system or integration purposes. "/api/v2/people/{id}/deactivate": patch: tags: - People summary: Deactivate a person responses: '200': "$ref": "#/components/responses/single_person" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: people-deactivate-deactivate description: Deactivate a person, removing their platform access. Their data is retained. "/api/v2/invoice_templates/{id}": get: tags: - Invoice Templates summary: Gets an invoice template responses: '200': "$ref": "#/components/responses/single_invoice_template" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the invoice template to retrieve. operationId: invoice_templates-show description: Retrieve a single invoice template. patch: tags: - Invoice Templates summary: Update an invoice template responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_invoice_template" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the invoice template to update. operationId: invoice_templates-update requestBody: "$ref": "#/components/requestBodies/invoice_template" description: Update an invoice template. delete: tags: - Invoice Templates summary: Deletes an invoice template responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the invoice template to delete. operationId: invoice_templates-destroy description: Delete an invoice template. "/api/v2/folders": post: tags: - Folders summary: Create a folder responses: '201': "$ref": "#/components/responses/single_folder" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: The folder could not be created due to validation errors. parameters: - "$ref": "#/components/parameters/header_organization" operationId: folders-create requestBody: "$ref": "#/components/requestBodies/folder" description: |- Creates a folder inside a project. Requires a `name` and the `project_id`. ```json { "data": { "type": "folders", "attributes": { "name": "Design", "project_id": 31002 } } } ``` get: tags: - Folders summary: Get folders responses: '200': "$ref": "#/components/responses/collection_folder" parameters: - "$ref": "#/components/parameters/sort_folder" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_folder" operationId: folders-index description: Returns a paginated list of folders — the top-level groupings inside a project that hold its task lists. Supports filtering by project, status, and free-text query. "/api/v2/sessions/machine": post: tags: - Sessions summary: Create a machine session responses: '201': content: application/json: {} application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_session" parameters: - "$ref": "#/components/parameters/header_organization" operationId: sessions-machine-machine description: Create a machine session for API access. "/api/v2/sessions/{id}/validate_otp": put: tags: - Sessions summary: Validate session OTP responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_session" '401': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unauthorized parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: sessions-validate_otp-validate_otp description: Validate a one-time password for a session. "/api/v2/line_items/generate": post: tags: - Line Items summary: Create line items responses: '200': "$ref": "#/components/responses/single_line_item" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: line_items-generate-generate description: | The `generate` method provides a way to automatically create line items for an invoice based on the provided invoicing method. This [help article](https://help.productive.io/en/articles/4656350-understanding-invoicing-methods) explains the supported invoicing methods. "/api/v2/pages/{id}/append_markdown": patch: tags: - Pages summary: Append markdown to a page body responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity — the request body is missing the required `markdown` field. '502': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Bad Gateway — the docs-realtime service returned an error or could not be reached. '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden — the current user does not have permission to edit the target page. '200': "$ref": "#/components/responses/single_page" parameters: - in: path name: id schema: type: string required: true description: The ID of the page to append markdown content to. - "$ref": "#/components/parameters/header_organization" operationId: pages-proxy-append-markdown requestBody: "$ref": "#/components/requestBodies/page_markdown_body" description: Append markdown to the end of a page's body. The markdown is converted to the page's rich-text representation and applied through the docs-realtime collaboration service so concurrent editors see the change immediately. "/api/v2/events/{id}/archive": patch: tags: - Events summary: Archives an event responses: '200': "$ref": "#/components/responses/single_event" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: events-archive-archive description: Archive an event. "/api/v2/service_types/{id}": patch: tags: - Service Types summary: Update a service type responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_service_type" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: service_types-update requestBody: "$ref": "#/components/requestBodies/service_type" description: Update a service type. get: tags: - Service Types summary: Gets a service type responses: '200': "$ref": "#/components/responses/single_service_type" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: service_types-show description: Retrieve a single service type by ID. "/api/v2/deal_statuses": get: tags: - Deal Statuses summary: Get deal statuses responses: '200': "$ref": "#/components/responses/collection_deal_status" parameters: - "$ref": "#/components/parameters/filter_deal_status" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_deal_status" operationId: deal_statuses-index description: List deal statuses with optional filters and pagination. post: tags: - Deal Statuses summary: Create a deal status responses: '201': "$ref": "#/components/responses/single_deal_status" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: deal_statuses-create requestBody: "$ref": "#/components/requestBodies/deal_status" description: Create a new deal status. "/api/v2/timers/{id}": get: tags: - Timers summary: Gets a timer responses: '200': "$ref": "#/components/responses/single_timer" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: timers-show description: Retrieve a single timer by ID. "/api/v2/survey_fields/{id}/archive": patch: tags: - Survey Fields summary: Archives a survey field responses: '200': "$ref": "#/components/responses/single_survey_field" parameters: - in: path name: id schema: type: string required: true description: The ID of the survey field to archive. - "$ref": "#/components/parameters/header_organization" operationId: survey_fields-archive-archive description: Archive a survey field to deactivate it. "/api/v2/deals": post: tags: - Deals summary: Create a deal responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_deal" parameters: - "$ref": "#/components/parameters/header_organization" operationId: deals-create requestBody: "$ref": "#/components/requestBodies/deal" description: Create a new deal. get: tags: - Deals summary: Get deals responses: '200': "$ref": "#/components/responses/collection_deal" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_deal" - "$ref": "#/components/parameters/sort_deal" operationId: deals-index description: List deals with optional filters. Returns paginated deal records the caller has access to. "/api/v2/pulses": get: tags: - Pulses summary: Get pulses responses: '200': "$ref": "#/components/responses/collection_pulse" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_pulse" - "$ref": "#/components/parameters/sort_pulse" operationId: pulses-index description: List all pulses. post: tags: - Pulses summary: Creates a pulse responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_pulse" parameters: - "$ref": "#/components/parameters/header_organization" operationId: pulses-create requestBody: "$ref": "#/components/requestBodies/pulse" description: Create a new pulse. "/api/v2/reports/deal_reports": get: tags: - Reports summary: Get deal reports responses: '200': "$ref": "#/components/responses/collection_deal_report" parameters: - "$ref": "#/components/parameters/sort_deal_report" - "$ref": "#/components/parameters/filter_deal_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/group_deal_report" operationId: reports-deal_reports-index description: Retrieve aggregated deal report data grouped by configurable dimensions. "/api/v2/boards/copy": post: tags: - Boards summary: Copy a board responses: '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created '200': "$ref": "#/components/responses/single_board" parameters: - "$ref": "#/components/parameters/header_organization" operationId: boards-copy-copy description: Copy a board. "/api/v2/resource_requests/{id}/reject": patch: tags: - Resource Requests summary: Reject a resource request responses: '200': "$ref": "#/components/responses/single_resource_request" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the resource request to reject. operationId: resource_requests-reject-reject description: Rejects a resource request by ID, setting its status to rejected. "/api/v2/invoices": post: tags: - Invoices summary: Create an invoice responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_invoice" parameters: - "$ref": "#/components/parameters/header_organization" operationId: invoices-create requestBody: "$ref": "#/components/requestBodies/invoice" description: Create a new invoice. get: tags: - Invoices summary: Get invoices responses: '200': "$ref": "#/components/responses/collection_invoice" parameters: - "$ref": "#/components/parameters/sort_invoice" - "$ref": "#/components/parameters/filter_invoice" - "$ref": "#/components/parameters/header_organization" operationId: invoices-index description: List invoices. "/api/v2/invoices/{id}/export": patch: tags: - Invoices summary: Exports an invoice responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_invoice" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: invoices-export-export description: Export an invoice to an external accounting system. "/api/v2/people/{id}/activate": patch: tags: - People summary: Activate a person responses: '200': "$ref": "#/components/responses/single_person" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: people-activate-activate description: Reactivate a previously deactivated person, restoring their access to the organization. "/api/v2/activities/{id}": get: tags: - Activities summary: Get an activity responses: '200': "$ref": "#/components/responses/single_activity" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: activities-show description: Retrieve a single activity by ID. "/api/v2/rate_cards/copy": post: tags: - Rate cards summary: Copy a rate card responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_rate_card" '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created '404': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Not Found parameters: - "$ref": "#/components/parameters/header_organization" operationId: rate_cards-copy-copy description: Copy an existing rate card. "/api/v2/pages/{id}": get: tags: - Pages summary: Gets a page responses: '200': "$ref": "#/components/responses/single_page" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the page to retrieve. operationId: pages-show description: Retrieve a single page. delete: tags: - Pages summary: Deletes a page responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the page to delete. operationId: pages-destroy description: Delete a page. "/api/v2/service_types/merge": patch: tags: - Service Types summary: Merge a service type responses: '200': "$ref": "#/components/responses/single_service_type" parameters: - "$ref": "#/components/parameters/header_organization" operationId: service_types-merge-merge description: Merge two or more service types into one. "/api/v2/workflow_statuses": get: tags: - Workflow Statuses summary: Get workflow statuses responses: '200': "$ref": "#/components/responses/collection_workflow_status" parameters: - "$ref": "#/components/parameters/filter_workflow_status" - "$ref": "#/components/parameters/sort_workflow_status" - "$ref": "#/components/parameters/header_organization" operationId: workflow_statuses-index description: List all workflow statuses. post: tags: - Workflow Statuses summary: Create an workflow status responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_workflow_status" parameters: - "$ref": "#/components/parameters/header_organization" operationId: workflow_statuses-create requestBody: "$ref": "#/components/requestBodies/workflow_status" description: Create a new workflow status. "/api/v2/service_types": get: tags: - Service Types summary: Get service types responses: '200': "$ref": "#/components/responses/collection_service_type" parameters: - "$ref": "#/components/parameters/sort_service_type" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_service_type" operationId: service_types-index description: List all service types. post: tags: - Service Types summary: Create a service type responses: '201': "$ref": "#/components/responses/single_service_type" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: service_types-create requestBody: "$ref": "#/components/requestBodies/service_type" description: Create a new service type. "/api/v2/purchase_orders": patch: tags: - Purchase Orders - Bulk summary: Update purchase orders responses: '200': "$ref": "#/components/responses/collection_purchase_order" parameters: - "$ref": "#/components/parameters/header_organization" operationId: purchase_orders-update-bulk requestBody: "$ref": "#/components/requestBodies/purchase_order" description: Bulk-updates multiple purchase orders in a single request. Accepts a JSON:API array of partial `purchase_orders` resources keyed by ID. post: tags: - Purchase Orders summary: Create a purchase order responses: '201': "$ref": "#/components/responses/single_purchase_order" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: purchase_orders-create requestBody: "$ref": "#/components/requestBodies/purchase_order" description: Create a new purchase order. get: tags: - Purchase Orders summary: Get purchase orders responses: '200': "$ref": "#/components/responses/collection_purchase_order" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_purchase_order" - "$ref": "#/components/parameters/sort_purchase_order" operationId: purchase_orders-index description: Lists purchase orders in the current account with pagination, filtering, sorting, and sparse fieldsets. Returns a JSON:API collection of `purchase_orders` resources. delete: tags: - Purchase Orders - Bulk summary: Delete purchase orders responses: '204': description: Purchase orders deleted successfully. No response body. parameters: - "$ref": "#/components/parameters/header_organization" operationId: purchase_orders-destroy-bulk requestBody: "$ref": "#/components/requestBodies/purchase_order_bulk_delete" description: Bulk-deletes purchase orders by ID in a single request. "/api/v2/subsidiaries": get: tags: - Subsidiaries summary: Gets all subsidiaries responses: '200': "$ref": "#/components/responses/collection_subsidiary" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_subsidiary" - "$ref": "#/components/parameters/filter_subsidiary" operationId: subsidiaries-index description: List all subsidiaries. post: tags: - Subsidiaries summary: Create a subsidiary responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_subsidiary" parameters: - "$ref": "#/components/parameters/header_organization" operationId: subsidiaries-create requestBody: "$ref": "#/components/requestBodies/subsidiary" description: Create a new subsidiary. "/api/v2/project_assignments": post: tags: - Project Assignments summary: Create a project assignment responses: '201': "$ref": "#/components/responses/single_project_assignment" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: project_assignments-create requestBody: "$ref": "#/components/requestBodies/project_assignment" description: Create a new project assignment. get: tags: - Project Assignments summary: Get project assignments responses: '200': "$ref": "#/components/responses/collection_project_assignment" parameters: - "$ref": "#/components/parameters/sort_project_assignment" - "$ref": "#/components/parameters/filter_project_assignment" - "$ref": "#/components/parameters/header_organization" operationId: project_assignments-index description: List all project assignments. "/api/v2/boards/{id}/reposition": patch: tags: - Boards summary: Repoisition a board responses: '200': "$ref": "#/components/responses/single_board" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: boards-reposition-reposition description: Reposition a board. "/api/v2/approval_policies/{id}": patch: tags: - Approval Policy summary: Updates the approval policy responses: '200': "$ref": "#/components/responses/single_approval_policy" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the approval policy to update. operationId: approval_policies-update requestBody: "$ref": "#/components/requestBodies/approval_policy" description: Update an approval policy. get: tags: - Approval Policy summary: Gets the approval policy responses: '200': "$ref": "#/components/responses/single_approval_policy" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the approval policy to retrieve. operationId: approval_policies-show description: Retrieve a single approval policy by ID. "/api/v2/users/{id}/update_password": patch: tags: - Users summary: Update password for a user responses: '200': "$ref": "#/components/responses/single_user" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: users-update_password-update_password description: Update the password for a user. "/api/v2/time_entries/{id}/unapprove": patch: tags: - Time Entries summary: Unapproves a time entry responses: '200': "$ref": "#/components/responses/single_time_entry" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: time_entries-unapprove-unapprove description: Revoke approval of a time entry. "/api/v2/deal_cost_rates": get: tags: - Deal Cost Rates summary: Get deal cost rates responses: '200': "$ref": "#/components/responses/collection_deal_cost_rate" parameters: - "$ref": "#/components/parameters/filter_deal_cost_rate" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_deal_cost_rate" operationId: deal_cost_rates-index description: List deal cost rates with optional filters and pagination. post: tags: - Deal Cost Rates summary: Create a deal cost rate responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_deal_cost_rate" parameters: - "$ref": "#/components/parameters/header_organization" operationId: deal_cost_rates-create requestBody: "$ref": "#/components/requestBodies/deal_cost_rate" description: Create a new deal cost rate. "/api/v2/tags/{id}": get: tags: - Tags summary: Gets a tag responses: '200': "$ref": "#/components/responses/single_tag" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: tags-show description: Retrieve a single tag by ID. "/api/v2/revenue_distributions": post: tags: - Revenue Distributions summary: Create a revenue distribution responses: '201': "$ref": "#/components/responses/single_revenue_distribution" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: revenue_distributions-create description: Create a new revenue distribution. get: tags: - Revenue Distributions summary: Get revenue distributions responses: '200': "$ref": "#/components/responses/collection_revenue_distribution" parameters: - "$ref": "#/components/parameters/filter_revenue_distribution" - "$ref": "#/components/parameters/sort_revenue_distribution" - "$ref": "#/components/parameters/header_organization" operationId: revenue_distributions-index description: List all revenue distributions. "/api/v2/deal_statuses/{id}/archive": patch: tags: - Deal Statuses summary: Archives a deal status responses: '200': "$ref": "#/components/responses/single_deal_status" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: deal_statuses-archive-archive description: Archive a deal status. "/api/v2/proposals/{id}/sync_status": get: tags: - Proposals summary: Get proposal's sync status responses: '200': "$ref": "#/components/responses/single_proposal" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the proposal to check sync status for. operationId: proposals-sync_status-sync_status description: Retrieve the sync status of a proposal. "/api/v2/pages/{id}/move": patch: tags: - Pages summary: Moves a page responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_page" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the page to move. operationId: pages-move-move description: Move a page to a different location. "/api/v2/sessions/{id}": delete: tags: - Sessions summary: Deletes a session responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: sessions-destroy description: Delete a session (sign out) by ID. "/api/v2/discussions/{id}/subscribe": patch: tags: - Discussions summary: Subscribes to discussion responses: '200': "$ref": "#/components/responses/single_discussion" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: discussions-subscribe-subscribe description: Subscribe to a discussion. "/api/v2/todos/{id}": patch: tags: - Todos summary: Update a todo responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_todo" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: todos-update requestBody: "$ref": "#/components/requestBodies/todo_update" description: Updates a todo. Only the provided attributes are modified — typically to toggle `closed`, change the `assignee_id`, or adjust the `description` or `due_date`. delete: tags: - Todos summary: Deletes a todo responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: todos-destroy description: Deletes a todo. get: tags: - Todos summary: Gets a todo responses: '200': "$ref": "#/components/responses/single_todo" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: todos-show description: Returns a single todo by ID. "/api/v2/expenses/{id}": delete: tags: - Expenses summary: Deletes a expense responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: expenses-destroy description: Delete an expense by ID. patch: tags: - Expenses summary: Update a expense responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_expense" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: expenses-update requestBody: "$ref": "#/components/requestBodies/expense" description: Update an existing expense. get: tags: - Expenses summary: Gets a expense responses: '200': "$ref": "#/components/responses/single_expense" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: expenses-show description: Retrieve a single expense by ID. "/api/v2/organization_subscriptions/{id}/cancel": patch: tags: - Organization Subscriptions summary: Cancels a organization subscription responses: '200': "$ref": "#/components/responses/single_organization_subscription" '503': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Service Unavailable parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: organization_subscriptions-cancel-cancel description: Cancel an organization subscription. "/api/v2/sections/{id}": patch: tags: - Sections summary: Update a section responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_section" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: sections-update requestBody: "$ref": "#/components/requestBodies/section" description: Update a section. delete: tags: - Sections summary: Deletes a section responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: sections-destroy description: Delete a section by ID. get: tags: - Sections summary: Gets a section responses: '200': "$ref": "#/components/responses/single_section" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: sections-show description: Retrieve a single section by ID. "/api/v2/document_styles/copy": post: tags: - Document Styles summary: Duplicates a document style responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/single_document_style" '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created parameters: - "$ref": "#/components/parameters/header_organization" operationId: document_styles-copy-copy description: Copy an existing document style. "/api/v2/webhooks": get: tags: - Webhooks summary: Get webhooks responses: '200': "$ref": "#/components/responses/collection_webhook" parameters: - "$ref": "#/components/parameters/filter_webhook" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_webhook" operationId: webhooks-index description: List all webhooks. post: tags: - Webhooks summary: Create a webhook responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_webhook" parameters: - "$ref": "#/components/parameters/header_organization" operationId: webhooks-create requestBody: "$ref": "#/components/requestBodies/webhook" description: Create a new webhook. "/api/v2/reports/page_reports": get: tags: - Reports summary: Get page reports responses: '200': "$ref": "#/components/responses/collection_page_report" parameters: - "$ref": "#/components/parameters/sort_page_report" - "$ref": "#/components/parameters/group_page_report" - "$ref": "#/components/parameters/filter_page_report" - "$ref": "#/components/parameters/header_organization" operationId: reports-page_reports-index description: Retrieve aggregated page report data grouped by configurable dimensions. "/api/v2/expenses/{id}/approve": patch: tags: - Expenses summary: Approves an expense responses: '200': "$ref": "#/components/responses/single_expense" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: expenses-approve-approve requestBody: "$ref": "#/components/requestBodies/expense_approve" description: Approve an expense by ID. "/api/v2/memberships/{id}": patch: tags: - Memberships summary: Update a membership responses: '200': "$ref": "#/components/responses/single_membership" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: memberships-update requestBody: "$ref": "#/components/requestBodies/membership" description: Update a membership. get: tags: - Memberships summary: Gets a membership responses: '200': "$ref": "#/components/responses/single_membership" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: memberships-show description: Retrieve a single membership. delete: tags: - Memberships summary: Deletes a membership responses: '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: memberships-destroy description: Delete a membership. "/api/v2/custom_field_sections/{id}/archive": patch: tags: - Custom Field Section summary: Archives the custom field section responses: '200': "$ref": "#/components/responses/single_custom_field_section" '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: custom_field_sections-archive-archive description: Archive a custom field section. "/api/v2/invoices/{id}/send_einvoice": patch: tags: - Invoices summary: Sends an e-invoice responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/single_invoice" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true operationId: invoices-send_einvoice requestBody: "$ref": "#/components/requestBodies/send_einvoice" "/api/v2/integrations/{id}": delete: tags: - Integrations summary: Deletes an integration responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: integrations-destroy description: Delete an integration. get: tags: - Integrations summary: Gets an integration responses: '200': "$ref": "#/components/responses/single_integration" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: integrations-show description: Retrieve a single integration. "/api/v2/time_entry_versions/{id}": get: tags: - Time Entry Versions summary: Gets a time entry version responses: '200': "$ref": "#/components/responses/single_time_entry_version" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: time_entry_versions-show description: Retrieve a single time entry version by ID. "/api/v2/discussions/{id}/resolve": patch: tags: - Discussions summary: Resolves a discussion responses: '200': "$ref": "#/components/responses/single_discussion" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: discussions-resolve-resolve description: Resolve an open discussion. "/api/v2/expenses/{id}/unapprove": patch: tags: - Expenses summary: Unapproves an expense responses: '200': "$ref": "#/components/responses/single_expense" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: expenses-unapprove-unapprove description: Unapprove an expense by ID. "/api/v2/time_tracking_policies/{id}/archive": patch: tags: - Time Tracking Policies summary: Archives a time tracking policy responses: '200': "$ref": "#/components/responses/single_time_tracking_policy" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The numeric ID of the time tracking policy. operationId: time_tracking_policies-archive-archive description: Archives a time tracking policy. "/api/v2/approval_policies": get: tags: - Approval Policy summary: Get approval policies responses: '200': "$ref": "#/components/responses/collection_approval_policy" parameters: - "$ref": "#/components/parameters/sort_approval_policy" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_approval_policy" operationId: approval_policies-index description: List approval policies with optional filters and pagination. post: tags: - Approval Policy summary: Creates the approval policy responses: '201': "$ref": "#/components/responses/single_approval_policy" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: approval_policies-create requestBody: "$ref": "#/components/requestBodies/approval_policy" description: Create a new approval policy. "/api/v2/discussions/{id}/reopen": patch: tags: - Discussions summary: Reopens a discussion responses: '200': "$ref": "#/components/responses/single_discussion" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: discussions-reopen-reopen description: Reopen a resolved discussion. "/api/v2/bookings": get: tags: - Bookings summary: Get bookings responses: '200': "$ref": "#/components/responses/collection_booking" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_booking" - "$ref": "#/components/parameters/sort_booking" operationId: bookings-index description: List bookings with optional filters and pagination. post: tags: - Bookings summary: Create a booking responses: '400': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Bad Request '201': "$ref": "#/components/responses/single_booking" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden parameters: - "$ref": "#/components/parameters/header_organization" operationId: bookings-create requestBody: "$ref": "#/components/requestBodies/booking" description: Create a new booking. "/api/v2/tax_rates/{id}/restore": patch: tags: - TaxRates summary: Restores an archived tax rate responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/single_tax_rate" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: tax_rates-restore-restore description: Restore an archived tax rate. "/api/v2/tasks": get: tags: - Tasks summary: Get tasks responses: '200': "$ref": "#/components/responses/collection_task" parameters: - "$ref": "#/components/parameters/sort_task" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_task" operationId: tasks-index description: "Returns a paginated list of tasks — the assignable work items inside a project's task lists. \nSupports filtering by project, task list, folder, parent task, assignee, creator, workflow status, dates (created, due, start, closed, last activity), tags, custom fields, subscribers, dependencies, and free-text query. \nSortable by task number, due date, start date, last activity, placement, and workflow status." post: tags: - Tasks summary: Create a task responses: '201': "$ref": "#/components/responses/single_task" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: tasks-create requestBody: "$ref": "#/components/requestBodies/task" description: |- Creates a task inside a task list. Requires `title`, `project_id`, `task_list_id`, and `workflow_status_id`. To create the task as a subtask of another task, also set `parent_task_id`. ```json { "data": { "type": "tasks", "attributes": { "title": "Draft Q3 launch plan", "project_id": 31002, "task_list_id": 7781, "workflow_status_id": 101, "assignee_id": 5634, "due_date": "2026-06-15" } } } ``` "/api/v2/service_types/{id}/archive": patch: tags: - Service Types summary: Archives a service type responses: '200': "$ref": "#/components/responses/single_service_type" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: service_types-archive-archive description: Archive a service type to deactivate it. "/api/v2/memberships": post: tags: - Memberships summary: Create a membership responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '201': "$ref": "#/components/responses/single_membership" parameters: - "$ref": "#/components/parameters/header_organization" operationId: memberships-create requestBody: "$ref": "#/components/requestBodies/membership" description: Create a new membership. get: tags: - Memberships summary: Get memberships responses: '200': "$ref": "#/components/responses/collection_membership" parameters: - "$ref": "#/components/parameters/filter_membership" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_membership" operationId: memberships-index description: List memberships. "/api/v2/reports/payment_reports": get: tags: - Reports summary: Get payment reports responses: '200': "$ref": "#/components/responses/collection_payment_report" parameters: - "$ref": "#/components/parameters/filter_payment_report" - "$ref": "#/components/parameters/sort_payment_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/group_payment_report" operationId: reports-payment_reports-index description: Retrieve aggregated payment report data grouped by configurable dimensions. "/api/v2/holiday_calendars": get: tags: - Holiday calendars summary: Get all holiday calendars responses: '200': "$ref": "#/components/responses/collection_holiday_calendar" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_holiday_calendar" - "$ref": "#/components/parameters/sort_holiday_calendar" operationId: holiday_calendars-index description: List holiday calendars. post: tags: - Holiday calendars summary: Create a holiday calendar responses: '201': "$ref": "#/components/responses/single_holiday_calendar" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: holiday_calendars-create requestBody: "$ref": "#/components/requestBodies/holiday_calendar" description: Create a new holiday calendar. "/api/v2/payments": get: tags: - Payments summary: Get payments responses: '200': "$ref": "#/components/responses/collection_payment" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_payment" - "$ref": "#/components/parameters/filter_payment" operationId: payments-index description: List all payments. post: tags: - Payments summary: Create a payment responses: '201': "$ref": "#/components/responses/single_payment" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: payments-create requestBody: "$ref": "#/components/requestBodies/payment" description: Create a new payment. "/api/v2/discussions/{id}": get: tags: - Discussions summary: Gets a discussion responses: '200': "$ref": "#/components/responses/single_discussion" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: discussions-show description: Retrieve a single discussion. patch: tags: - Discussions summary: Update an discussion responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_discussion" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: discussions-update requestBody: "$ref": "#/components/requestBodies/discussion" description: Update a discussion. delete: tags: - Discussions summary: Deletes a discussion responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: discussions-destroy description: Delete a discussion. "/api/v2/purchase_orders/copy": post: tags: - Purchase Orders summary: Copies a purchase order responses: '200': "$ref": "#/components/responses/single_purchase_order" '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created parameters: - "$ref": "#/components/parameters/header_organization" operationId: purchase_orders-copy-copy requestBody: "$ref": "#/components/requestBodies/purchase_order_copy" description: Copy an existing purchase order. "/api/v2/workflows/{id}/archive": patch: tags: - Workflows summary: Archives a workflow responses: '409': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Conflict '200': "$ref": "#/components/responses/single_workflow" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: workflows-archive-archive description: Archive a workflow to deactivate it. "/api/v2/document_styles/{id}": delete: tags: - Document Styles summary: Destroys a document style responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '204': description: No Content parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: document_styles-destroy description: Delete a document style. patch: tags: - Document Styles summary: Update a document_style responses: '200': "$ref": "#/components/responses/single_document_style" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: document_styles-update requestBody: "$ref": "#/components/requestBodies/document_style" description: Update a document style. get: tags: - Document Styles summary: Gets a document_style responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '200': "$ref": "#/components/responses/single_document_style" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: document_styles-show description: Retrieve a single document style. "/api/v2/time_entries/approve": patch: tags: - Time Entries - Bulk summary: Approves time entries responses: '200': "$ref": "#/components/responses/single_time_entry" parameters: - "$ref": "#/components/parameters/header_organization" operationId: time_entries-approve-update-bulk requestBody: "$ref": "#/components/requestBodies/time_entry" description: Approve a time entry (alternate endpoint). "/api/v2/deals/{id}/open": patch: tags: - Deals summary: Opens a deal responses: '200': "$ref": "#/components/responses/single_deal" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: deals-open-open description: Reopen a closed deal. "/api/v2/expenses/{id}/export_update": patch: tags: - Expenses summary: Updates exported expense responses: '200': "$ref": "#/components/responses/single_expense" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: expenses-export_update-export_update description: Update the export status of an expense in the external accounting system. "/api/v2/pages": get: tags: - Pages summary: Get pages responses: '200': "$ref": "#/components/responses/collection_page" parameters: - "$ref": "#/components/parameters/filter_page" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_page" operationId: pages-index description: List pages. "/api/v2/passwords": post: tags: - Passwords summary: Create a password responses: '204': content: any: {} headers: {} description: No Content '201': "$ref": "#/components/responses/single_password" parameters: - "$ref": "#/components/parameters/header_organization" operationId: passwords-create requestBody: "$ref": "#/components/requestBodies/password" description: Create a new password reset request. "/api/v2/reports/project_reports": get: tags: - Reports summary: Get project reports responses: '200': "$ref": "#/components/responses/collection_project_report" parameters: - "$ref": "#/components/parameters/filter_project_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_project_report" - "$ref": "#/components/parameters/group_project_report" operationId: reports-project_reports-index description: Retrieve aggregated project report data grouped by configurable dimensions. "/api/v2/contracts/{id}/generate": post: tags: - Contracts summary: Generates new budget responses: '200': "$ref": "#/components/responses/single_contract" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: contracts-generate-generate description: Generate a contract. "/api/v2/pages/{id}/replace_body_with_html": patch: tags: - Pages summary: Replace a page body with HTML responses: '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden — the current user does not have permission to edit the target page. '502': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Bad Gateway — the docs-realtime service returned an error or could not be reached. '200': "$ref": "#/components/responses/single_page" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity — the request body is missing the required `html` field. parameters: - in: path name: id schema: type: string required: true description: The ID of the page whose body will be replaced. - "$ref": "#/components/parameters/header_organization" operationId: pages-proxy-replace-body-with-html requestBody: "$ref": "#/components/requestBodies/page_html_body" description: Replace a page's entire body with the supplied HTML. The HTML is converted to the page's rich-text representation and applied through the docs-realtime collaboration service so concurrent editors see the change immediately. "/api/v2/reports/invoice_reports": get: tags: - Reports summary: Get invoice reports responses: '200': "$ref": "#/components/responses/collection_invoice_report" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_invoice_report" - "$ref": "#/components/parameters/filter_invoice_report" - "$ref": "#/components/parameters/group_invoice_report" operationId: reports-invoice_reports-index description: Retrieve aggregated invoice report data grouped by configurable dimensions. "/api/v2/survey_field_options": get: tags: - Survey Field Options summary: Get survey field options responses: '200': "$ref": "#/components/responses/collection_survey_field_option" parameters: - "$ref": "#/components/parameters/filter_survey_field_option" - "$ref": "#/components/parameters/sort_survey_field_option" - "$ref": "#/components/parameters/header_organization" operationId: survey_field_options-index description: List all survey field options. post: tags: - Survey Field Options summary: Creates a survey field option responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_survey_field_option" parameters: - "$ref": "#/components/parameters/header_organization" operationId: survey_field_options-create requestBody: "$ref": "#/components/requestBodies/survey_field_option" description: Create a new survey field option. "/api/v2/users": get: tags: - Users summary: Gets users responses: '401': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unauthorized '200': "$ref": "#/components/responses/collection_user" parameters: - "$ref": "#/components/parameters/filter_user" - "$ref": "#/components/parameters/sort_user" - "$ref": "#/components/parameters/header_organization" operationId: users-index description: List all users. "/api/v2/reports/line_item_reports": get: tags: - Reports summary: Get line item reports responses: '200': "$ref": "#/components/responses/collection_line_item_report" parameters: - "$ref": "#/components/parameters/sort_line_item_report" - "$ref": "#/components/parameters/filter_line_item_report" - "$ref": "#/components/parameters/group_line_item_report" - "$ref": "#/components/parameters/header_organization" operationId: reports-line_item_reports-index description: Retrieve aggregated line item report data grouped by configurable dimensions. "/api/v2/comments/{id}/add_reaction": patch: tags: - Comments summary: Adds reaction to a comment responses: '200': "$ref": "#/components/responses/single_comment" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: comments-add_reaction-add_reaction description: Add a reaction to a comment. "/api/v2/reports/proposal_reports": get: tags: - Reports summary: Get proposal reports responses: '200': "$ref": "#/components/responses/collection_proposal_report" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_proposal_report" - "$ref": "#/components/parameters/sort_proposal_report" - "$ref": "#/components/parameters/group_proposal_report" operationId: reports-proposal_reports-index description: Returns a paginated list of proposal report records, suitable for building custom proposal analytics. "/api/v2/survey_fields/{id}": get: tags: - Survey Fields summary: Gets a survey field responses: '200': "$ref": "#/components/responses/single_survey_field" parameters: - in: path name: id schema: type: string required: true description: The ID of the survey field to retrieve. - "$ref": "#/components/parameters/header_organization" operationId: survey_fields-show description: Retrieve a single survey field by ID. patch: tags: - Survey Fields summary: Updates a survey field responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_survey_field" parameters: - in: path name: id schema: type: string required: true description: The ID of the survey field to update. - "$ref": "#/components/parameters/header_organization" operationId: survey_fields-update requestBody: "$ref": "#/components/requestBodies/survey_field" description: Update a survey field. "/api/v2/projects/{id}/apply_navigation_tabs": patch: tags: - Projects summary: Applies navigation tabs from a template to the project responses: '200': "$ref": "#/components/responses/single_project" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Returned when validation fails — for example, when `template_id` references a project that is not a template, or when required attributes are missing. parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the project to apply navigation tabs to. operationId: projects-apply_navigation_tabs-apply_navigation_tabs requestBody: "$ref": "#/components/requestBodies/project_apply_navigation_tabs" description: Copies the navigation tab configuration from an existing project template onto the specified project. Supports preserving the project's current tabs alongside the template's, or replacing them entirely. "/api/v2/expenses/{id}/unreject": patch: tags: - Expenses summary: Unrejects an expense responses: '200': "$ref": "#/components/responses/single_expense" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true operationId: expenses-unreject-unreject requestBody: "$ref": "#/components/requestBodies/expense_unreject" "/api/v2/boards/{id}/move": patch: tags: - Boards summary: Move a board responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '200': "$ref": "#/components/responses/single_board" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: boards-move-move description: Move a board. "/api/v2/task_lists/copy": post: tags: - Task Lists summary: Copies a task list responses: '201': "$ref": "#/components/responses/single_task_list" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Returned when the copy request body fails validation. parameters: - "$ref": "#/components/parameters/header_organization" operationId: task_lists-copy-copy requestBody: "$ref": "#/components/requestBodies/task_list_copy" description: |- Creates a new task list by copying a **source task list** (`template_id`) into a target project and folder. By default only the task list shell is copied; enable the `copy_*` flags to duplicate its tasks and their details. Required: `name`, `template_id` (the source task list), `project_id`, and the target `folder_id`. ### Copy flags All `copy_*` flags default to `false`. Every flag below requires the "tasks" gate — at least one of `copy_open_tasks` / `copy_closed_tasks`. | Flag(s) | Prerequisite | Notes | |---|---|---| | `copy_open_tasks`, `copy_closed_tasks` | — | The "tasks" gate | | `copy_task_comments`, `copy_task_description`, `copy_task_subscribers`, `copy_task_attachments` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_task_open_todos`, `copy_task_closed_todos` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_task_open_subtasks`, `copy_task_closed_subtasks` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_task_dependencies` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_assignees`, `copy_tags`, `copy_due_date`, `copy_start_date`, `copy_repeat`, `copy_estimate` | `copy_open_tasks` or `copy_closed_tasks` | — | | `copy_custom_fields` | `copy_open_tasks` or `copy_closed_tasks` | Task custom field values | Enabling any dependent flag without a tasks gate returns `422` (`tasks_required`). ### Minimal copy (shell only) ```json { "data": { "type": "task_lists", "attributes": { "name": "Sprint 5", "template_id": 884412, "project_id": 31002, "folder_id": 7781 } } } ``` ### Full copy with tasks ```json { "data": { "type": "task_lists", "attributes": { "name": "Sprint 5 (copy)", "template_id": 884412, "project_id": 31002, "folder_id": 7781, "copy_open_tasks": true, "copy_task_comments": true, "copy_task_description": true, "copy_task_subscribers": true, "copy_task_attachments": true, "copy_task_open_todos": true, "copy_task_open_subtasks": true, "copy_task_dependencies": true, "copy_assignees": true, "copy_tags": true, "copy_due_date": true, "copy_start_date": true, "copy_repeat": true, "copy_estimate": true, "copy_custom_fields": true } } } ``` "/api/v2/custom_field_sections/{id}": patch: tags: - Custom Field Section summary: Updates the custom field section responses: '200': "$ref": "#/components/responses/single_custom_field_section" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: custom_field_sections-update requestBody: "$ref": "#/components/requestBodies/custom_field_section" description: Update a custom field section. get: tags: - Custom Field Section summary: Gets the custom field section responses: '200': "$ref": "#/components/responses/single_custom_field_section" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: custom_field_sections-show description: Retrieve a single custom field section by ID. "/api/v2/workflows": get: tags: - Workflows summary: Get workflows responses: '200': "$ref": "#/components/responses/collection_workflow" parameters: - "$ref": "#/components/parameters/sort_workflow" - "$ref": "#/components/parameters/filter_workflow" - "$ref": "#/components/parameters/header_organization" operationId: workflows-index description: List all workflows. post: tags: - Workflows summary: Create an workflow responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_workflow" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden parameters: - "$ref": "#/components/parameters/header_organization" operationId: workflows-create requestBody: "$ref": "#/components/requestBodies/workflow" description: Create a new workflow. "/api/v2/payment_reminder_sequences": get: tags: - Payment reminder sequences summary: Get payment reminder sequences responses: '200': "$ref": "#/components/responses/collection_payment_reminder_sequence" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/filter_payment_reminder_sequence" - "$ref": "#/components/parameters/sort_payment_reminder_sequence" operationId: payment_reminder_sequences-index description: List all payment reminder sequences. post: tags: - Payment reminder sequences summary: Create a payment reminder sequence responses: '201': "$ref": "#/components/responses/single_payment_reminder_sequence" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: payment_reminder_sequences-create requestBody: "$ref": "#/components/requestBodies/payment_reminder_sequence" description: Create a new payment reminder sequence. "/api/v2/resource_requests/{id}/resolve": post: tags: - Resource Requests summary: Resolve a resource request by creating bookings responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: The resource request could not be resolved due to validation errors. '200': "$ref": "#/components/responses/single_resource_request" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the resource request to resolve. operationId: resource_requests-resolve-resolve description: Resolves a resource request by ID, setting its status to resolved. "/api/v2/approval_statuses/{id}": get: tags: - Approval Status summary: Gets the approval status responses: '200': "$ref": "#/components/responses/single_approval_status" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true operationId: approval_statuses-show description: Returns a single approval status by id. "/api/v2/invoices/{id}/export_update": patch: tags: - Invoices summary: Updates an exported invoice responses: '200': "$ref": "#/components/responses/single_invoice" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: invoices-export_update-export_update description: Update the export data on an already-exported invoice. "/api/v2/reports/task_reports": get: tags: - Reports summary: Get task reports responses: '200': "$ref": "#/components/responses/collection_task_report" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_task_report" - "$ref": "#/components/parameters/group_task_report" - "$ref": "#/components/parameters/filter_task_report" operationId: reports-task_reports-index description: Retrieve aggregated task report data grouped by configurable dimensions. "/api/v2/time_entries/{id}/approve": patch: tags: - Time Entries summary: Approves a time entry responses: '200': "$ref": "#/components/responses/single_time_entry" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: time_entries-approve-approve description: Approve a time entry. "/api/v2/custom_fields/{id}/archive": patch: tags: - Custom Fields summary: Archives a custom field responses: '200': "$ref": "#/components/responses/single_custom_field" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: custom_fields-archive-archive description: Archive a custom field. "/api/v2/teams/{id}": delete: tags: - Teams summary: Deletes a team responses: '204': description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: teams-destroy description: Delete a team by ID. get: tags: - Teams summary: Gets a team responses: '200': "$ref": "#/components/responses/single_team" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: teams-show description: Retrieve a single team by ID. patch: tags: - Teams summary: Update a team responses: '200': "$ref": "#/components/responses/single_team" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: teams-update requestBody: "$ref": "#/components/requestBodies/team" description: Update a team. "/api/v2/expenses/bulk_approve": patch: tags: - Expenses - Bulk summary: Bulk approves expenses responses: '200': "$ref": "#/components/responses/collection_expense" parameters: - "$ref": "#/components/parameters/header_organization" operationId: expenses-bulk_approve requestBody: "$ref": "#/components/requestBodies/expense_bulk_approve" "/api/v2/time_entries/unapprove": patch: tags: - Time Entries - Bulk summary: Unapproves time entries responses: '200': "$ref": "#/components/responses/single_time_entry" parameters: - "$ref": "#/components/parameters/header_organization" operationId: time_entries-unapprove-update-bulk requestBody: "$ref": "#/components/requestBodies/time_entry" description: Revoke approval of a time entry (alternate endpoint). "/api/v2/tags": get: tags: - Tags summary: Get tags responses: '200': "$ref": "#/components/responses/collection_tag" parameters: - "$ref": "#/components/parameters/sort_tag" - "$ref": "#/components/parameters/filter_tag" - "$ref": "#/components/parameters/header_organization" operationId: tags-index description: List all tags. "/api/v2/surveys/copy": post: tags: - Surveys summary: Copies a survey responses: '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created '200': "$ref": "#/components/responses/single_survey" parameters: - "$ref": "#/components/parameters/header_organization" operationId: surveys-copy-copy description: Copy an existing survey. "/api/v2/rate_cards/{id}/archive": patch: tags: - Rate cards summary: Archives a rate card responses: '200': "$ref": "#/components/responses/single_rate_card" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: rate_cards-archive-archive description: Archive a rate card to deactivate it. "/api/v2/survey_field_options/{id}/archive": patch: tags: - Survey Field Options summary: Archives a survey field option responses: '200': "$ref": "#/components/responses/single_survey_field_option" parameters: - in: path name: id schema: type: string required: true description: The ID of the survey field option to archive. - "$ref": "#/components/parameters/header_organization" operationId: survey_field_options-archive-archive description: Archive a survey field option to deactivate it. "/api/v2/organization_subscriptions/{id}/reactivate": patch: tags: - Organization Subscriptions summary: Reactivates a organization subscription responses: '405': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Method Not Allowed '200': "$ref": "#/components/responses/single_organization_subscription" '503': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Service Unavailable parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: organization_subscriptions-reactivate-reactivate description: Reactivate a cancelled organization subscription. "/api/v2/workflows/{id}/restore": patch: tags: - Workflows summary: Restores a workflow responses: '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created '200': "$ref": "#/components/responses/single_workflow" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: workflows-restore-restore description: Restore an archived workflow. "/api/v2/integrations": post: tags: - Integrations summary: Create an integration responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity '201': "$ref": "#/components/responses/single_integration" parameters: - "$ref": "#/components/parameters/header_organization" operationId: integrations-create requestBody: "$ref": "#/components/requestBodies/integration" description: Create a new integration. get: tags: - Integrations summary: Get integration responses: '200': "$ref": "#/components/responses/collection_integration" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_integration" - "$ref": "#/components/parameters/filter_integration" operationId: integrations-index description: List integrations. "/api/v2/reports/price_reports": get: tags: - Reports summary: Get price reports responses: '200': "$ref": "#/components/responses/collection_price_report" parameters: - "$ref": "#/components/parameters/group_price_report" - "$ref": "#/components/parameters/filter_price_report" - "$ref": "#/components/parameters/sort_price_report" - "$ref": "#/components/parameters/header_organization" operationId: reports-price_reports-index description: Retrieve aggregated price report data grouped by configurable dimensions. "/api/v2/organizations/{id}/resend_code": patch: tags: - Organizations summary: Resend verification code responses: '200': "$ref": "#/components/responses/single_organization" '204': content: any: {} headers: {} description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: organizations-resend_code-resend_code description: Resend the verification code for an organization. "/api/v2/people/{id}/resend": patch: tags: - People summary: Resend email to a person responses: '200': "$ref": "#/components/responses/single_person" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: people-resend-resend description: Resend the invitation email to a person who has not yet accepted their invite. "/api/v2/people/{id}/regenerate_recovery_codes": patch: tags: - People summary: Regenerate 2FA recovery codes responses: '200': "$ref": "#/components/responses/single_person" '204': content: any: {} headers: {} description: No Content parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: people-regenerate_recovery_codes-regenerate_recovery_codes description: Regenerate two-factor authentication recovery codes for the person. "/api/v2/deleted_items/{id}/restore": patch: tags: - Deleted Items summary: Restores deleted object responses: '200': "$ref": "#/components/responses/single_deleted_item" parameters: - in: path name: id schema: type: string required: true description: ID - "$ref": "#/components/parameters/header_organization" operationId: deleted_items-restore-restore description: Restore a deleted item from the recycle bin. "/api/v2/organization_memberships/{id}/dismiss_notifications": patch: tags: - Organization Memberships summary: Dismiss notifications for organization membership responses: '200': "$ref": "#/components/responses/single_organization_membership" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: organization_memberships-dismiss_notifications-dismiss_notifications description: Dismiss all notifications for an organization membership. "/api/v2/pages/{id}/append_html": patch: tags: - Pages summary: Append HTML to a page body responses: '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity — the request body is missing the required `html` field. '200': "$ref": "#/components/responses/single_page" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden — the current user does not have permission to edit the target page. '502': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Bad Gateway — the docs-realtime service returned an error or could not be reached. parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the page to append HTML content to. operationId: pages-proxy-append-html requestBody: "$ref": "#/components/requestBodies/page_html_body" description: Append HTML to the end of a page's body. The HTML is converted to the page's rich-text representation and applied through the docs-realtime collaboration service so concurrent editors see the change immediately. "/api/v2/time_entry_versions": get: tags: - Time Entry Versions summary: Get time entry versions responses: '200': "$ref": "#/components/responses/collection_time_entry_version" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_time_entry_version" - "$ref": "#/components/parameters/filter_time_entry_version" operationId: time_entry_versions-index description: List all time entry versions. "/api/v2/tax_rates/{id}/archive": patch: tags: - TaxRates summary: Archives a tax rate responses: '200': "$ref": "#/components/responses/single_tax_rate" '403': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Forbidden parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: tax_rates-archive-archive description: Archive a tax rate to deactivate it. "/api/v2/reports/timesheet_reports": get: tags: - Reports summary: Get timesheet reports responses: '200': "$ref": "#/components/responses/collection_timesheet_report" parameters: - "$ref": "#/components/parameters/filter_timesheet_report" - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/group_timesheet_report" - "$ref": "#/components/parameters/sort_timesheet_report" operationId: reports-timesheet_reports-index description: Retrieve aggregated timesheet report data grouped by configurable dimensions. "/api/v2/reports/budget_reports": get: tags: - Reports summary: Get budget reports responses: '200': "$ref": "#/components/responses/collection_budget_report" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/group_budget_report" - "$ref": "#/components/parameters/filter_budget_report" - "$ref": "#/components/parameters/sort_budget_report" operationId: reports-budget_reports-index description: Retrieve a paginated list of aggregated budget report rows. Supports filtering, grouping, and sorting by budget dimensions and metrics. "/api/v2/resource_requests/{id}/cancel": patch: tags: - Resource Requests summary: Cancel a resource request responses: '200': "$ref": "#/components/responses/single_resource_request" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: The ID of the resource request to cancel. operationId: resource_requests-cancel-cancel description: Cancels a resource request by ID, setting its status to canceled. "/api/v2/deals/copy": post: tags: - Deals summary: Copies a deal responses: '200': "$ref": "#/components/responses/single_deal" '201': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Created parameters: - "$ref": "#/components/parameters/header_organization" operationId: deals-copy-copy description: Create a copy of an existing deal. "/api/v2/notifications/{id}/dismiss": patch: tags: - Notifications summary: Dismisses a notification responses: '200': "$ref": "#/components/responses/single_notification" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: notifications-dismiss-dismiss description: Dismiss a notification. "/api/v2/entitlements": post: tags: - Entitlements summary: Creates an entitlement responses: '201': "$ref": "#/components/responses/single_entitlement" '422': content: application/vnd.api+json: {} headers: Content-Type: schema: type: string description: Unprocessable Entity parameters: - "$ref": "#/components/parameters/header_organization" operationId: entitlements-create requestBody: "$ref": "#/components/requestBodies/entitlement" description: Create a new entitlement. get: tags: - Entitlements summary: Get entitlements responses: '200': "$ref": "#/components/responses/collection_entitlement" parameters: - "$ref": "#/components/parameters/header_organization" - "$ref": "#/components/parameters/sort_entitlement" - "$ref": "#/components/parameters/filter_entitlement" operationId: entitlements-index description: List entitlements. "/api/v2/notifications/{id}/undismiss": patch: tags: - Notifications summary: Undismisses a notification responses: '200': "$ref": "#/components/responses/single_notification" parameters: - "$ref": "#/components/parameters/header_organization" - in: path name: id schema: type: string required: true description: ID operationId: notifications-undismiss-undismiss description: Restore a dismissed notification to the inbox. components: schemas: _filter_root_board: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_board" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_board" description: Filter schema for `board` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_invoice: type: object title: Filter invoice properties: id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/id" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/id" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/id" contains: "$ref": "#/components/schemas/resource_invoice/properties/id" description: Filter id using explicit operator object with eq, not_eq, contains, and not_contain operators. example: - 123 - "$ref": "#/components/schemas/resource_invoice/properties/id" description: Invoice ID. Supports filtering by exact match, exclusion, and containment operators. example: - 123 pay_on: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/pay_on" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/pay_on" eq: "$ref": "#/components/schemas/resource_invoice/properties/pay_on" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/pay_on" description: Filter pay_on using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value - "$ref": "#/components/schemas/resource_invoice/properties/pay_on" description: Due date for payment. Supports filtering by exact match, exclusion, and containment operators. example: eq: value automatically_created: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/automatically_created" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice/properties/automatically_created" contains: "$ref": "#/components/schemas/resource_invoice/properties/automatically_created" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/automatically_created" eq: "$ref": "#/components/schemas/resource_invoice/properties/automatically_created" description: Filter automatically_created using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value description: Whether the invoice was automatically generated from a template. Supports filtering by exact match, exclusion, and containment operators. example: eq: value invoice_state: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/invoice_state" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/invoice_state" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/invoice_state" contains: "$ref": "#/components/schemas/resource_invoice/properties/invoice_state" description: Filter invoice_state using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: active - "$ref": "#/components/schemas/resource_invoice/properties/invoice_state" description: Invoice lifecycle state (draft, finalized, sent, paid). Supports filtering by exact match, exclusion, and containment operators. example: eq: active tags: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/tags" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/tags" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/tags" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/tags" eq: "$ref": "#/components/schemas/resource_invoice/properties/tags" description: Filter tags using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value description: Tags applied to this invoice. Supports filtering by exact match, exclusion, and containment operators. example: eq: value responsible_id: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/responsible_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice/properties/responsible_id" contains: "$ref": "#/components/schemas/resource_invoice/properties/responsible_id" eq: "$ref": "#/components/schemas/resource_invoice/properties/responsible_id" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/responsible_id" description: Filter responsible_id using explicit operator object with eq, not_eq, contains, and not_contain operators. example: - 123 description: Responsible person ID. Supports filtering by exact match, exclusion, and containment operators. example: - 123 payment_terms_type: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/payment_terms_type" contains: "$ref": "#/components/schemas/resource_invoice/properties/payment_terms_type" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/payment_terms_type" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/payment_terms_type" - "$ref": "#/components/schemas/resource_invoice/properties/payment_terms_type" last_activity_at: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/last_activity_at" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice/properties/last_activity_at" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/last_activity_at" contains: "$ref": "#/components/schemas/resource_invoice/properties/last_activity_at" eq: "$ref": "#/components/schemas/resource_invoice/properties/last_activity_at" description: Filter last_activity_at using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: '2026-01-01' description: Date of last activity on this invoice. Supports filtering by exact match, exclusion, and containment operators. example: gt: '2026-01-01' amount_paid: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/amount_paid" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/amount_paid" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_paid" eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_paid" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/amount_paid" description: Filter amount_paid using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: 0 description: Amount already paid (base currency). Supports filtering by exact match, exclusion, and containment operators. example: gt: 0 amount_credited: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/amount_credited" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited" contains: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited" eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited" description: Filter amount_credited using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: 0 description: Amount credited via credit notes, excluding tax (base currency). Supports filtering by exact match, exclusion, and containment operators. example: gt: 0 invoice_type: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/invoice_type" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice/properties/invoice_type" contains: "$ref": "#/components/schemas/resource_invoice/properties/invoice_type" eq: "$ref": "#/components/schemas/resource_invoice/properties/invoice_type" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/invoice_type" description: Filter invoice_type using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: active description: Invoice type (standard invoice or credit note). Supports filtering by exact match, exclusion, and containment operators. example: eq: active purchase_order_number: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/purchase_order_number" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/purchase_order_number" contains: "$ref": "#/components/schemas/resource_invoice/properties/purchase_order_number" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/purchase_order_number" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/purchase_order_number" description: Filter purchase_order_number using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: PO-2024-017 description: Client-provided purchase order number. Supports filtering by exact match, exclusion, and containment operators. example: eq: PO-2024-017 payment_terms: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/payment_terms" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/payment_terms" contains: "$ref": "#/components/schemas/resource_invoice/properties/payment_terms" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/payment_terms" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/payment_terms" description: Filter payment_terms using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value description: Number of days between invoice issue date and due date. Supports filtering by exact match, exclusion, and containment operators. example: eq: value number: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/number" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice/properties/number" contains: "$ref": "#/components/schemas/resource_invoice/properties/number" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/number" eq: "$ref": "#/components/schemas/resource_invoice/properties/number" description: Filter number using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: 0 description: Invoice number. Supports filtering by exact match, exclusion, and containment operators. example: gt: 0 sent_on: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/sent_on" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice/properties/sent_on" eq: "$ref": "#/components/schemas/resource_invoice/properties/sent_on" contains: "$ref": "#/components/schemas/resource_invoice/properties/sent_on" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/sent_on" description: Filter sent_on using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value description: Date when the invoice was sent to the client. Supports filtering by exact match, exclusion, and containment operators. example: eq: value subsidiary_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_invoice/properties/subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/subsidiary_id" description: Filter subsidiary_id using explicit operator object with eq, not_eq, contains, and not_contain operators. example: - 123 - "$ref": "#/components/schemas/resource_invoice/properties/subsidiary_id" description: Issuing subsidiary ID. Supports filtering by exact match, exclusion, and containment operators. example: - 123 delivery_on: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/delivery_on" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/delivery_on" eq: "$ref": "#/components/schemas/resource_invoice/properties/delivery_on" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/delivery_on" description: Filter delivery_on using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value - "$ref": "#/components/schemas/resource_invoice/properties/delivery_on" description: Date when goods or services were delivered. Supports filtering by exact match, exclusion, and containment operators. example: eq: value custom_fields: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_invoice/properties/custom_fields" description: Filter custom_fields using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value - "$ref": "#/components/schemas/resource_invoice/properties/custom_fields" description: Custom field values. Supports filtering by exact match, exclusion, and containment operators. example: eq: value fuzzy_people: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/fuzzy_people" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice/properties/fuzzy_people" eq: "$ref": "#/components/schemas/resource_invoice/properties/fuzzy_people" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/fuzzy_people" contains: "$ref": "#/components/schemas/resource_invoice/properties/fuzzy_people" description: Filter fuzzy_people using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value description: Fuzzy people search across person-related fields. Supports filtering by exact match, exclusion, and containment operators. example: eq: value jump_query: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/jump_query" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/jump_query" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/jump_query" eq: "$ref": "#/components/schemas/resource_invoice/properties/jump_query" description: Filter jump_query using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value - "$ref": "#/components/schemas/resource_invoice/properties/jump_query" description: Quick search term across key invoice fields. Supports filtering by exact match, exclusion, and containment operators. example: eq: value project_id: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/project_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice/properties/project_id" eq: "$ref": "#/components/schemas/resource_invoice/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/project_id" contains: "$ref": "#/components/schemas/resource_invoice/properties/project_id" description: Filter project_id using explicit operator object with eq, not_eq, contains, and not_contain operators. example: - 123 description: Project ID. Supports filtering by exact match, exclusion, and containment operators. example: - 123 sent_status: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/sent_status" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice/properties/sent_status" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/sent_status" contains: "$ref": "#/components/schemas/resource_invoice/properties/sent_status" eq: "$ref": "#/components/schemas/resource_invoice/properties/sent_status" description: Filter sent_status using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: active description: Sent status of the invoice. Supports filtering by exact match, exclusion, and containment operators. example: eq: active export_status: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/export_status" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/export_status" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/export_status" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/export_status" contains: "$ref": "#/components/schemas/resource_invoice/properties/export_status" description: Filter export_status using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: active description: Export status to external accounting software. Supports filtering by exact match, exclusion, and containment operators. example: eq: active full_query: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/full_query" contains: "$ref": "#/components/schemas/resource_invoice/properties/full_query" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/full_query" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/full_query" description: Filter full_query using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value - "$ref": "#/components/schemas/resource_invoice/properties/full_query" description: Full-text search across invoice fields. Supports filtering by exact match, exclusion, and containment operators. example: eq: value creator_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/creator_id" eq: "$ref": "#/components/schemas/resource_invoice/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/creator_id" description: Filter creator_id using explicit operator object with eq, not_eq, contains, and not_contain operators. example: - 123 - "$ref": "#/components/schemas/resource_invoice/properties/creator_id" description: Creator person ID. Supports filtering by exact match, exclusion, and containment operators. example: - 123 deal_id: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/deal_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/deal_id" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/deal_id" eq: "$ref": "#/components/schemas/resource_invoice/properties/deal_id" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/deal_id" description: Filter deal_id using explicit operator object with eq, not_eq, contains, and not_contain operators. example: - 123 description: Budget (deal) ID. Supports filtering by exact match, exclusion, and containment operators. example: - 123 credited: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/credited" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice/properties/credited" eq: "$ref": "#/components/schemas/resource_invoice/properties/credited" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/credited" contains: "$ref": "#/components/schemas/resource_invoice/properties/credited" description: Filter credited using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value description: Whether this invoice has been credited. Supports filtering by exact match, exclusion, and containment operators. example: eq: value paid_on: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/paid_on" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/paid_on" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/paid_on" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/paid_on" contains: "$ref": "#/components/schemas/resource_invoice/properties/paid_on" description: Filter paid_on using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value description: Date when the invoice was paid. Supports filtering by exact match, exclusion, and containment operators. example: eq: value query: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice/properties/query" eq: "$ref": "#/components/schemas/resource_invoice/properties/query" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/query" contains: "$ref": "#/components/schemas/resource_invoice/properties/query" description: Filter query using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value - "$ref": "#/components/schemas/resource_invoice/properties/query" description: Search term across invoice text fields. Supports filtering by exact match, exclusion, and containment operators. example: eq: value parent_company_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice/properties/parent_company_id" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/parent_company_id" contains: "$ref": "#/components/schemas/resource_invoice/properties/parent_company_id" eq: "$ref": "#/components/schemas/resource_invoice/properties/parent_company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_invoice/properties/parent_company_id" description: Filter by the parent company of the invoice's company. example: - 123 company_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/company_id" eq: "$ref": "#/components/schemas/resource_invoice/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/company_id" description: Filter company_id using explicit operator object with eq, not_eq, contains, and not_contain operators. example: - 123 - "$ref": "#/components/schemas/resource_invoice/properties/company_id" description: Client company ID. Supports filtering by exact match, exclusion, and containment operators. example: - 123 invoice_status: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/invoice_status" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/invoice_status" contains: "$ref": "#/components/schemas/resource_invoice/properties/invoice_status" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/invoice_status" description: Filter invoice_status using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: active - "$ref": "#/components/schemas/resource_invoice/properties/invoice_status" description: Invoice payment status. Supports filtering by exact match, exclusion, and containment operators. example: eq: active parent_invoice_id: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/parent_invoice_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/parent_invoice_id" contains: "$ref": "#/components/schemas/resource_invoice/properties/parent_invoice_id" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/parent_invoice_id" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/parent_invoice_id" description: Filter parent_invoice_id using explicit operator object with eq, not_eq, contains, and not_contain operators. example: - 123 description: Parent invoice ID (for credit notes). Supports filtering by exact match, exclusion, and containment operators. example: - 123 amount_unpaid: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/amount_unpaid" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice/properties/amount_unpaid" eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_unpaid" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_unpaid" contains: "$ref": "#/components/schemas/resource_invoice/properties/amount_unpaid" description: Filter amount_unpaid using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: 0 description: Outstanding balance (base currency). Supports filtering by exact match, exclusion, and containment operators. example: gt: 0 subscriber_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/subscriber_id" contains: "$ref": "#/components/schemas/resource_invoice/properties/subscriber_id" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/subscriber_id" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/subscriber_id" description: Filter subscriber_id using explicit operator object with eq, not_eq, contains, and not_contain operators. example: - 123 - "$ref": "#/components/schemas/resource_invoice/properties/subscriber_id" description: Subscriber person ID. Supports filtering by exact match, exclusion, and containment operators. example: - 123 payment_status: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice/properties/payment_status" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/payment_status" contains: "$ref": "#/components/schemas/resource_invoice/properties/payment_status" eq: "$ref": "#/components/schemas/resource_invoice/properties/payment_status" description: Filter payment_status using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: active - "$ref": "#/components/schemas/resource_invoice/properties/payment_status" description: Payment status of the invoice. Supports filtering by exact match, exclusion, and containment operators. example: eq: active amount_tax: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/amount_tax" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice/properties/amount_tax" contains: "$ref": "#/components/schemas/resource_invoice/properties/amount_tax" eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_tax" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_tax" description: Filter amount_tax using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: 0 description: Total tax amount (base currency). Supports filtering by exact match, exclusion, and containment operators. example: gt: 0 amount_credited_with_tax: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/amount_credited_with_tax" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited_with_tax" contains: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited_with_tax" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited_with_tax" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_credited_with_tax" description: Filter amount_credited_with_tax using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: 0 description: Amount credited including tax (base currency). Supports filtering by exact match, exclusion, and containment operators. example: gt: 0 overdue_status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/overdue_status" eq: "$ref": "#/components/schemas/resource_invoice/properties/overdue_status" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/overdue_status" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/overdue_status" description: Filter overdue_status using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: active - "$ref": "#/components/schemas/resource_invoice/properties/overdue_status" description: Overdue status of the invoice. Supports filtering by exact match, exclusion, and containment operators. example: eq: active created_at: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/created_at" contains: "$ref": "#/components/schemas/resource_invoice/properties/created_at" description: Filter created_at using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_invoice/properties/created_at" description: Invoice creation timestamp. Supports filtering by exact match, exclusion, and containment operators. example: gt: '2026-01-01' issuer_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice/properties/issuer_id" contains: "$ref": "#/components/schemas/resource_invoice/properties/issuer_id" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/issuer_id" eq: "$ref": "#/components/schemas/resource_invoice/properties/issuer_id" description: Filter issuer_id using explicit operator object with eq, not_eq, contains, and not_contain operators. example: - 123 - "$ref": "#/components/schemas/resource_invoice/properties/issuer_id" description: Issuer person ID. Supports filtering by exact match, exclusion, and containment operators. example: - 123 invoicing_method: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/invoicing_method" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/invoicing_method" eq: "$ref": "#/components/schemas/resource_invoice/properties/invoicing_method" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/invoicing_method" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/invoicing_method" description: Filter invoicing_method using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value description: Invoicing method used to generate line items. Supports filtering by exact match, exclusion, and containment operators. example: eq: value invoiced_on: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/invoiced_on" contains: "$ref": "#/components/schemas/resource_invoice/properties/invoiced_on" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/invoiced_on" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/invoiced_on" description: Filter invoiced_on using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value - "$ref": "#/components/schemas/resource_invoice/properties/invoiced_on" description: Date when the invoice was issued. Supports filtering by exact match, exclusion, and containment operators. example: eq: value amount_written_off: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_written_off" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_written_off" contains: "$ref": "#/components/schemas/resource_invoice/properties/amount_written_off" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/amount_written_off" description: Filter amount_written_off using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: 0 - "$ref": "#/components/schemas/resource_invoice/properties/amount_written_off" description: Amount written off as uncollectible (base currency). Supports filtering by exact match, exclusion, and containment operators. example: gt: 0 currency: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/currency" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/currency" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/currency" eq: "$ref": "#/components/schemas/resource_invoice/properties/currency" description: Filter currency using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value - "$ref": "#/components/schemas/resource_invoice/properties/currency" description: Invoice currency code. Supports filtering by exact match, exclusion, and containment operators. example: eq: value status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice/properties/status" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/status" eq: "$ref": "#/components/schemas/resource_invoice/properties/status" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/status" description: Filter status using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: active - "$ref": "#/components/schemas/resource_invoice/properties/status" description: General status filter. Supports filtering by exact match, exclusion, and containment operators. example: eq: active amount: oneOf: - "$ref": "#/components/schemas/resource_invoice/properties/amount" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice/properties/amount" eq: "$ref": "#/components/schemas/resource_invoice/properties/amount" contains: "$ref": "#/components/schemas/resource_invoice/properties/amount" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/amount" description: Filter amount using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: 0 description: Invoice amount excluding tax (base currency). Supports filtering by exact match, exclusion, and containment operators. example: gt: 0 amount_with_tax: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice/properties/amount_with_tax" eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_with_tax" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/amount_with_tax" contains: "$ref": "#/components/schemas/resource_invoice/properties/amount_with_tax" description: Filter amount_with_tax using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: 0 - "$ref": "#/components/schemas/resource_invoice/properties/amount_with_tax" description: Invoice total including tax (base currency). Supports filtering by exact match, exclusion, and containment operators. example: gt: 0 fuzzy_dates: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/fuzzy_dates" description: Filter fuzzy_dates using explicit operator object with eq, not_eq, contains, and not_contain operators. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_invoice/properties/fuzzy_dates" description: Fuzzy date search across date fields. Supports filtering by exact match, exclusion, and containment operators. example: gt: '2026-01-01' invoice_aging: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice/properties/invoice_aging" not_eq: "$ref": "#/components/schemas/resource_invoice/properties/invoice_aging" not_contain: "$ref": "#/components/schemas/resource_invoice/properties/invoice_aging" contains: "$ref": "#/components/schemas/resource_invoice/properties/invoice_aging" description: Filter invoice_aging using explicit operator object with eq, not_eq, contains, and not_contain operators. example: eq: value - "$ref": "#/components/schemas/resource_invoice/properties/invoice_aging" description: Invoice aging value in days since issue date. Supports filtering by exact match, exclusion, and containment operators. example: eq: value patternProperties: "^company..*$": title: Company relationship description: Available filter parameters for querying invoices. example: status: eq: draft _filter_root_attachment: oneOf: - "$ref": "#/components/schemas/filter_attachment" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_attachment" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `attachment` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_time_entry_version: type: object title: Filter time entry version properties: id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/id" contains: "$ref": "#/components/schemas/resource_time_entry_version/properties/id" eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/id" not_contain: "$ref": "#/components/schemas/resource_time_entry_version/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_version/properties/id" description: Filter by time entry version ID. example: - 123 event: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" contains: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" not_eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/event" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_version/properties/event" description: Filter by the type of change event (e.g. create, update, delete, approve, reject). example: eq: value time_entry_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_version/properties/time_entry_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_version/properties/time_entry_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/time_entry_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_version/properties/time_entry_id" eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/time_entry_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated time entry. example: - 123 created_at: oneOf: - "$ref": "#/components/schemas/resource_time_entry_version/properties/created_at" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/created_at" eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/created_at" contains: "$ref": "#/components/schemas/resource_time_entry_version/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_time_entry_version/properties/created_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter by the version creation date range. example: gt: '2026-01-01' creator_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_version/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/creator_id" contains: "$ref": "#/components/schemas/resource_time_entry_version/properties/creator_id" eq: "$ref": "#/components/schemas/resource_time_entry_version/properties/creator_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_version/properties/creator_id" description: Filter by the person who made the change. example: - 123 patternProperties: "^creator..*$": title: Creator relationship "^time_entry..*$": title: Time entry relationship description: Filter parameters for listing time entry version resources, which record the audit history of changes made to time entries. example: id: eq: '123' _filter_root_custom_field_section: oneOf: - "$ref": "#/components/schemas/filter_custom_field_section" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_custom_field_section" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `custom_field_section` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_webhook: type: object title: Filter webhook properties: id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_webhook/properties/id" contains: "$ref": "#/components/schemas/resource_webhook/properties/id" not_contain: "$ref": "#/components/schemas/resource_webhook/properties/id" not_eq: "$ref": "#/components/schemas/resource_webhook/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_webhook/properties/id" description: Filter by webhook ID. example: - 123 type_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_webhook/properties/type_id" eq: "$ref": "#/components/schemas/resource_webhook/properties/type_id" contains: "$ref": "#/components/schemas/resource_webhook/properties/type_id" not_eq: "$ref": "#/components/schemas/resource_webhook/properties/type_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_webhook/properties/type_id" description: Filter by webhook type (webhook or Zapier). example: - 123 event_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_webhook/properties/event_id" contains: "$ref": "#/components/schemas/resource_webhook/properties/event_id" not_eq: "$ref": "#/components/schemas/resource_webhook/properties/event_id" not_contain: "$ref": "#/components/schemas/resource_webhook/properties/event_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_webhook/properties/event_id" description: Filter by the subscribed event type (e.g. new task, updated invoice). example: - 123 state_id: oneOf: - "$ref": "#/components/schemas/resource_webhook/properties/state_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_webhook/properties/state_id" not_eq: "$ref": "#/components/schemas/resource_webhook/properties/state_id" contains: "$ref": "#/components/schemas/resource_webhook/properties/state_id" eq: "$ref": "#/components/schemas/resource_webhook/properties/state_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by webhook delivery state (working, issues, or waiting). example: - 123 patternProperties: {} description: Filter parameters for listing webhook resources, which send HTTP notifications to external URLs when resource events occur. example: id: eq: '123' filter_integration_exporter_configuration: type: object title: Filter integration exporter configuration properties: company_id: oneOf: - "$ref": "#/components/schemas/resource_integration_exporter_configuration/properties/company_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_integration_exporter_configuration/properties/company_id" eq: "$ref": "#/components/schemas/resource_integration_exporter_configuration/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_integration_exporter_configuration/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_integration_exporter_configuration/properties/company_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by client company. example: - 123 patternProperties: {} description: Filter parameters for integration exporter configurations. example: id: eq: '123' resource_team_membership: type: object title: Team membership Resource properties: team: title: Team description: The team this membership belongs to. example: eq: value team_id: type: integer title: Team description: ID of the team this membership belongs to. example: - 123 person_id: type: integer title: Person description: ID of the person who is a member of the team. example: - 123 organization: title: Organization description: The organization this team membership belongs to. example: eq: value person: title: Person description: The person who is a member of the team. example: eq: value active: type: boolean title: Active description: Whether this team membership is currently active. example: true person_name: title: Person Name description: The full name of the person who is a member of the team. example: eq: value id: type: integer title: Id description: The unique identifier of this team membership. example: - 123 description: Person-team link record. Associates a person with a team for access control and reporting purposes. example: id: '123' type: team_memberships attributes: role: member joined_at: '2026-01-01T00:00:00Z' relationships: person: data: type: people id: '12' team: data: type: teams id: '5' filter_exchange_rate: type: object title: Filter exchange rate properties: date: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_exchange_rate/properties/date" eq: "$ref": "#/components/schemas/resource_exchange_rate/properties/date" not_eq: "$ref": "#/components/schemas/resource_exchange_rate/properties/date" contains: "$ref": "#/components/schemas/resource_exchange_rate/properties/date" description: Filter using explicit operator syntax. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_exchange_rate/properties/date" description: Filter by exchange rate date. example: gt: '2026-01-01' out_of_date: oneOf: - "$ref": "#/components/schemas/resource_exchange_rate/properties/out_of_date" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_exchange_rate/properties/out_of_date" contains: "$ref": "#/components/schemas/resource_exchange_rate/properties/out_of_date" eq: "$ref": "#/components/schemas/resource_exchange_rate/properties/out_of_date" not_eq: "$ref": "#/components/schemas/resource_exchange_rate/properties/out_of_date" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter to include only exchange rates that are out of date (i.e. not reflecting the latest rates). example: gt: '2026-01-01' patternProperties: {} description: Filter parameters for exchange rates. example: id: eq: '123' resource_entitlement_report: type: object title: Entitlement report Resource properties: currency: title: Currency description: The currency code of financial values in this report row. example: eq: value total_available: type: number title: Total Available description: Total available hours remaining (allocated minus used and pending). example: eq: value report: title: Report description: The parent report record this row belongs to. example: eq: value group: type: string title: Group description: The grouping key for this report row when results are aggregated by a dimension. example: eq: value start_date: type: string title: Start Date format: date description: The start date of the entitlement period covered by this report row. example: gt: '2026-01-01' organization: title: Organization description: The organization this entitlement report row belongs to. example: eq: value entitlement_start_date: title: Entitlement Start Date description: The start date of the entitlement record linked to this report row. example: gt: '2026-01-01' absence_type: enum: - time_off - remote_work type: string title: Absence Type description: The type of absence (e.g. time off, remote work) for this entitlement report row. example: eq: active entitlement: title: Entitlement description: The linked entitlement record this report row is based on. example: eq: value event_id: type: integer title: Event description: The ID of the absence category (event) for this report row. example: - 123 subsidiary: title: Subsidiary description: The subsidiary associated with this entitlement report row. example: eq: value formula_fields: title: Formula Fields description: Custom formula field values computed for this report row. example: eq: value count: type: integer title: Count description: Number of entitlement records included in this aggregated report row. example: gt: 0 currency_default: title: Currency Default description: Financial values expressed in the organization's default currency. example: eq: value person_id: type: integer title: Person description: The ID of the person this entitlement report row is for. example: - 123 person: title: Person description: The person this entitlement report row is for. example: eq: value event: title: Event description: The absence category (event) this report row covers. example: eq: value date: type: string title: Date format: date description: The reporting date for this entitlement row. example: gt: '2026-01-01' total_allocated: type: number title: Total Allocated description: Total allocated hours for this person across all entitlement records in the period. example: eq: value entitlement_end_date: title: Entitlement End Date description: The end date of the entitlement record linked to this report row. example: gt: '2026-01-01' used: type: number title: Used description: Hours used in this entitlement row's absence category. example: eq: value total_pending: type: number title: Total Pending description: Total pending time-off or entitlement time across grouped entries, in the configured time unit. example: eq: value total_allocated_minutes: type: integer title: Total Allocated Minutes description: Total allocated minutes for this person in the entitlement period (raw minutes value). example: eq: value total_used: type: number title: Total Used description: Total used hours — approved absences taken within the entitlement period. example: eq: value id: type: integer title: Id description: The unique identifier of this entitlement report row. example: - 123 total_pending_minutes: title: Total Pending Minutes description: Total pending time-off or entitlement time across grouped entries, expressed in minutes. example: eq: value start_date_period: title: Start Date Period description: The start date period descriptor used for grouping in time-based reports. example: gt: '2026-01-01' allocated: type: number title: Allocated description: Total hours allocated for the absence category in the reporting period. example: eq: value end_date_period: title: End Date Period description: The end date period descriptor used for grouping in time-based reports. example: gt: '2026-01-01' total_used_minutes: type: integer title: Total Used Minutes description: Total used minutes (raw minutes value). example: eq: value person_report: title: Person Report description: Summary person-level report data rolled up from individual entitlement records. example: eq: value end_date: type: string title: End Date format: date description: The end date of the entitlement period covered by this report row. example: gt: '2026-01-01' formulas: type: integer title: Formulas description: Saved formula definitions applied to generate calculated columns in this report. example: eq: value people_custom_fields: title: People Custom Fields description: Custom field values from the associated person record included for reporting context. example: eq: value total_available_minutes: type: integer title: Total Available Minutes description: Total available minutes remaining (raw minutes value). example: eq: value currency_normalized: title: Currency Normalized description: Financial values normalized for cross-currency comparison. example: eq: value description: An aggregated entitlement report row combining a person's time-off allocation, usage, and availability for an absence category over a period. example: id: '123' type: entitlement_reports attributes: feature: time_tracking usage_count: 42 organization_id: 1 relationships: {} filter_payroll_item_report: type: object title: Filter payroll item report properties: company_id: oneOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/company_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/company_id" contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/company_id" description: Filter operator object for company id. example: - 123 description: Filter payroll item report results by company id. example: - 123 group: oneOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/group" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/group" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/group" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/group" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/group" description: Filter operator object for group. example: eq: value description: Filter payroll item report results by group. example: eq: value time_entry_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/time_entry_id" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/time_entry_id" contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/time_entry_id" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/time_entry_id" description: Filter operator object for time entry id. example: - 123 - "$ref": "#/components/schemas/resource_payroll_item_report/properties/time_entry_id" description: Filter payroll item report results by time entry id. example: - 123 booking_id: oneOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/booking_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/booking_id" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/booking_id" contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/booking_id" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/booking_id" description: Filter operator object for booking id. example: - 123 description: Filter payroll item report results by booking id. example: - 123 subsidiary_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/subsidiary_id" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/subsidiary_id" description: Filter operator object for subsidiary id. example: - 123 - "$ref": "#/components/schemas/resource_payroll_item_report/properties/subsidiary_id" description: Filter payroll item report results by subsidiary id. example: - 123 person_type: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_type" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_type" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_type" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_type" description: Filter operator object for person type. example: eq: active - "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_type" description: Filter payroll item report results by person type. example: eq: active payroll_item_type: oneOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/payroll_item_type" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/payroll_item_type" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/payroll_item_type" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/payroll_item_type" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/payroll_item_type" description: Filter operator object for payroll item type. example: eq: active description: Filter payroll item report results by payroll item type. example: eq: active person_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_id" contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_id" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_id" description: Filter operator object for person id. example: - 123 - "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_id" description: Filter payroll item report results by person id. example: - 123 parent_company_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/parent_company_id" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/parent_company_id" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/parent_company_id" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/parent_company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_payroll_item_report/properties/parent_company_id" description: Filter by the parent company of the payroll item's company. example: - 123 role_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/role_id" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/role_id" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/role_id" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/role_id" description: Filter operator object for role id. example: - 123 - "$ref": "#/components/schemas/resource_payroll_item_report/properties/role_id" description: Filter payroll item report results by role id. example: - 123 formulas: oneOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/formulas" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/formulas" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/formulas" description: Filter operator object for formulas. example: eq: value description: Filter payroll item report results by formulas. example: eq: value salary_type_id: oneOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/salary_type_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/salary_type_id" contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/salary_type_id" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/salary_type_id" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/salary_type_id" description: Filter operator object for salary type id. example: - 123 description: Filter payroll item report results by salary type id. example: - 123 person_status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_status" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_status" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_status" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_status" description: Filter operator object for person status. example: eq: active - "$ref": "#/components/schemas/resource_payroll_item_report/properties/person_status" description: Filter payroll item report results by person status. example: eq: active salary_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/salary_id" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/salary_id" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/salary_id" contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/salary_id" description: Filter operator object for salary id. example: - 123 - "$ref": "#/components/schemas/resource_payroll_item_report/properties/salary_id" description: Filter payroll item report results by salary id. example: - 123 date: oneOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/date" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/date" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/date" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/date" contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/date" description: Filter operator object for date. example: gt: '2026-01-01' description: Filter payroll item report results by date. example: gt: '2026-01-01' custom_fields: oneOf: - "$ref": "#/components/schemas/resource_payroll_item_report/properties/custom_fields" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_payroll_item_report/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_payroll_item_report/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_payroll_item_report/properties/custom_fields" description: Filter operator object for custom fields. example: eq: value description: Filter payroll item report results by custom fields. example: eq: value patternProperties: "^person..*$": title: Person relationship description: Available filter parameters for querying aggregated payroll item report data. example: id: eq: '123' _filter_root_service_assignment: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_service_assignment" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_service_assignment" description: Filter schema for `service_assignment` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_price: type: object title: Filter price properties: time_tracking_enabled: oneOf: - "$ref": "#/components/schemas/resource_price/properties/time_tracking_enabled" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_price/properties/time_tracking_enabled" contains: "$ref": "#/components/schemas/resource_price/properties/time_tracking_enabled" not_contain: "$ref": "#/components/schemas/resource_price/properties/time_tracking_enabled" eq: "$ref": "#/components/schemas/resource_price/properties/time_tracking_enabled" description: Filter using explicit operator syntax. example: gt: 0 description: Filter to include only price entries where time tracking is enabled. example: gt: 0 company_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_price/properties/company_id" contains: "$ref": "#/components/schemas/resource_price/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_price/properties/company_id" eq: "$ref": "#/components/schemas/resource_price/properties/company_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_price/properties/company_id" description: Filter by client company. example: - 123 rate_card_id: oneOf: - "$ref": "#/components/schemas/resource_price/properties/rate_card_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_price/properties/rate_card_id" eq: "$ref": "#/components/schemas/resource_price/properties/rate_card_id" contains: "$ref": "#/components/schemas/resource_price/properties/rate_card_id" not_contain: "$ref": "#/components/schemas/resource_price/properties/rate_card_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated rate card. example: - 123 custom_fields: oneOf: - "$ref": "#/components/schemas/resource_price/properties/custom_fields" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_price/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_price/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_price/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_price/properties/custom_fields" description: Filter using explicit operator syntax. example: eq: value description: Filter by custom field values. example: eq: value billing_type_id: oneOf: - "$ref": "#/components/schemas/resource_price/properties/billing_type_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" not_eq: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" eq: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" contains: "$ref": "#/components/schemas/resource_price/properties/billing_type_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by billing type ID. example: - 123 id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_price/properties/id" contains: "$ref": "#/components/schemas/resource_price/properties/id" not_contain: "$ref": "#/components/schemas/resource_price/properties/id" eq: "$ref": "#/components/schemas/resource_price/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_price/properties/id" description: Filter by ID. example: - 123 booking_tracking_enabled: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_price/properties/booking_tracking_enabled" contains: "$ref": "#/components/schemas/resource_price/properties/booking_tracking_enabled" not_contain: "$ref": "#/components/schemas/resource_price/properties/booking_tracking_enabled" not_eq: "$ref": "#/components/schemas/resource_price/properties/booking_tracking_enabled" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_price/properties/booking_tracking_enabled" description: Filter to include only price entries where booking tracking is enabled. example: eq: value unit_id: oneOf: - "$ref": "#/components/schemas/resource_price/properties/unit_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_price/properties/unit_id" not_contain: "$ref": "#/components/schemas/resource_price/properties/unit_id" contains: "$ref": "#/components/schemas/resource_price/properties/unit_id" eq: "$ref": "#/components/schemas/resource_price/properties/unit_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by unit ID. example: - 123 expense_tracking_enabled: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_price/properties/expense_tracking_enabled" eq: "$ref": "#/components/schemas/resource_price/properties/expense_tracking_enabled" not_eq: "$ref": "#/components/schemas/resource_price/properties/expense_tracking_enabled" contains: "$ref": "#/components/schemas/resource_price/properties/expense_tracking_enabled" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_price/properties/expense_tracking_enabled" description: Filter to include only price entries where expense tracking is enabled. example: eq: value rate_card_status: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_price/properties/rate_card_status" contains: "$ref": "#/components/schemas/resource_price/properties/rate_card_status" not_eq: "$ref": "#/components/schemas/resource_price/properties/rate_card_status" eq: "$ref": "#/components/schemas/resource_price/properties/rate_card_status" description: Filter using explicit operator syntax. example: gt: 0 - "$ref": "#/components/schemas/resource_price/properties/rate_card_status" description: Filter by the status of the associated rate card (active or archived). example: gt: 0 service_type_id: oneOf: - "$ref": "#/components/schemas/resource_price/properties/service_type_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_price/properties/service_type_id" eq: "$ref": "#/components/schemas/resource_price/properties/service_type_id" not_contain: "$ref": "#/components/schemas/resource_price/properties/service_type_id" contains: "$ref": "#/components/schemas/resource_price/properties/service_type_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated service type. example: - 123 patternProperties: "^company..*$": title: Company relationship "^rate_card..*$": title: Rate card relationship description: Filter parameters for listing prices (rate card line items). Supports filtering by rate card, service type, company, billing type, and updated date. Standard ID and date operators apply. example: id: eq: '123' _filter_root_tax_rate: oneOf: - "$ref": "#/components/schemas/filter_tax_rate" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_tax_rate" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: - 456789 '1': status: eq: - 1 "$op": and description: Filter schema for `tax_rate` list endpoints — pass a single condition or a logical group. example: id: eq: - 456789 resource_time_entry: type: object title: Time entry Resource properties: person_tags: type: string title: Person Tags description: Tags of the person who tracked time. example: eq: value invoicing_status: enum: - 1 - 2 - 3 type: integer title: Invoicing Status description: Current invoicing status of the time entry. example: eq: active approval_policy_id: type: integer title: Approval Policy description: approval policy id of the time entry. example: - 123 people_custom_fields: type: string title: People Custom Fields description: Custom field values for the person who tracked time. example: eq: value autotracked: type: boolean title: Autotracked description: autotracked of the time entry. example: eq: value submitted: title: Submitted description: Whether this time entry has been submitted for approval via a timesheet. example: eq: value section_name: type: string title: Section Name description: Name of the section the service belongs to. example: eq: value responsible_id: type: integer title: Responsible description: ID of the responsible person. example: - 123 created_at: type: string title: Created At format: date-time description: Date on which the time entry was created. example: gt: '2026-01-01' person_name: title: Person Name description: Name of the person who tracked time. example: eq: value after: type: string title: After format: date description: after of the time entry. example: eq: value creator_id: type: integer title: Creator description: creator id of the time entry. example: - 123 work_cost: title: Work Cost description: Labor cost based on the person's salary rate. example: eq: value deal_subsidiary: title: Deal Subsidiary description: The subsidiary of the budget/deal this time was tracked on. example: eq: value currency: type: string title: Currency description: Currency code for financial values on this time entry. example: eq: value organization: title: Organization description: The organization this time entry belongs to. example: eq: value invoice_id: type: integer title: Invoice description: ID of the invoice associated via attribution. example: - 123 booking_id: type: integer title: Booking description: ID of the booking this time entry was created from. example: - 123 cost_normalized: title: Cost Normalized description: Total cost in the normalized reporting currency. example: eq: value deal_subsidiary_id: type: integer title: Deal Subsidiary description: ID of the subsidiary of the deal. example: - 123 internal_overhead_cost_default: title: Internal Overhead Cost Default description: Internal overhead cost in the organization's default currency. example: eq: value created_before: type: string title: Created Before format: date description: Filter alias — only entries created before this value. example: eq: value ended_at: type: string title: Ended At format: date description: Computed end timestamp (started_at + time minutes). example: gt: '2026-01-01' service_id: type: integer title: Service description: ID of the service the time was tracked against. example: - 123 invoice_attribution_id: type: integer title: Invoice Attribution description: ID of the invoice attribution linking this entry to an invoice. example: - 123 id: type: integer title: Id description: Unique identifier of the time entry. example: - 123 facility_overhead_cost_normalized: title: Facility Overhead Cost Normalized description: Facility overhead cost in the normalized reporting currency. example: eq: value date: type: string title: Date format: date description: Date for which the time was tracked. example: gt: '2026-01-01' service_type_id: type: integer title: Service Type description: Service type ID of the associated service. example: - 123 track_method_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 type: integer title: Track Method description: 'How the time was recorded: manually, via timer, or mixed.' example: - 123 person_subsidiary_id: type: integer title: Person Subsidiary description: ID of the subsidiary of the person who tracked time. example: - 123 invoiced: type: boolean title: Invoiced description: Whether this time entry has been invoiced to the client. example: eq: value query: type: string title: Query description: Full-text search query across time entry fields. example: eq: value facility_overhead_cost_default: title: Facility Overhead Cost Default description: Facility overhead cost in the organization's default currency. example: eq: value project_type_id: type: integer title: Project Type description: Project type ID. example: - 123 currency_default: title: Currency Default description: Currency code in the organization's default currency. example: eq: value cost_default: title: Cost Default description: Total cost in the organization's default currency. example: eq: value budget_id: type: integer title: Budget description: ID of the deal/budget this time was tracked on. example: - 123 invoice_attribution: title: Invoice Attribution description: The invoice attribution linking this entry to an invoice. example: gt: '2026-01-01' rejected: title: Rejected description: Whether this time entry was rejected during approval. example: eq: value calendar_event_id: type: string title: Calendar Event description: ID of the calendar event this entry was created from, if applicable. example: - 123 approval_statuses: title: Approval Statuses description: Per-approver decisions on this time entry. example: eq: active jira_issue_status: type: string title: Jira Issue Status description: Current status of the linked Jira issue. example: eq: active jira_worklog_id: type: string title: Jira Worklog description: Jira Worklog ID for synced entries. example: - 123 task_list_id: type: integer title: Task List description: ID of the task list the task belongs to. example: - 123 work_cost_normalized: title: Work Cost Normalized description: Labor cost in the normalized reporting currency. example: eq: value assigned_approver_id: type: integer title: Assigned Approver description: assigned approver id of the time entry. example: - 123 before: type: string title: Before format: date description: before of the time entry. example: eq: value rejected_reason: type: string title: Rejected Reason description: Reason provided when the time entry was rejected. example: eq: value project_id: type: integer title: Project description: ID of the project associated with the service. example: - 123 rejected_at: type: string title: Rejected At format: date-time description: Timestamp when the time entry was rejected. example: gt: '2026-01-01' started_before: type: string title: Started Before format: date description: Filter alias — only entries started before this value. example: eq: value stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type of the associated deal. example: eq: active billing_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: Billing type of the associated service. example: - 123 approved_at: type: string title: Approved At format: date-time description: Timestamp when the time entry was approved. example: gt: '2026-01-01' updated_at: type: string title: Updated At format: date-time description: Timestamp of last modification. example: gt: '2026-01-01' service_name: title: Service Name description: Name of the service the time was tracked against. example: eq: value created_after: type: string title: Created After format: date description: Filter alias — only entries created after this value. example: eq: value jira_issue_id: type: string title: Jira Issue description: Jira Issue ID if tracked from a Jira integration. example: - 123 overhead_cost_default: title: Overhead Cost Default description: Total overhead cost in the organization's default currency. example: eq: value person: title: Person description: The person who tracked this time. example: eq: value task: title: Task description: The task the person was working on. example: eq: value jira_organization: type: string title: Jira Organization description: Jira organization name for the linked issue. example: eq: value jira_issue_summary: type: string title: Jira Issue Summary description: Summary text of the linked Jira issue. example: eq: value facility_overhead_cost: title: Facility Overhead Cost description: Facility overhead portion of the cost. example: eq: value designated_approver_id: type: integer title: Designated Approver description: Filter time entries to those whose budget has the specified designated approver. example: - 123 last_activity_at: type: string title: Last Activity At format: date-time description: Date when the last change was made (edit, approval, move, etc.). example: gt: '2026-01-01' company_id: type: integer title: Company description: ID of the client company associated with the deal. example: - 123 approver_id: type: integer title: Approver description: approver id of the time entry. example: - 123 billable: type: boolean title: Billable description: Whether the associated service is billable. example: true role_id: type: integer title: Role description: Role ID of the person who tracked time. example: - 123 internal_overhead_cost: title: Internal Overhead Cost description: Internal overhead portion of the cost. example: eq: value deal_id: type: integer title: Deal description: ID of the deal/budget this time was tracked on. example: - 123 base_cost: title: Base Cost description: Base labor cost before overhead (serialized from work_cost). example: eq: value updater: title: Updater description: The person who last updated this time entry. example: eq: value timer_started_at: type: string title: Timer Started At format: date-time description: When the timer was started (if tracked via timer). example: gt: '2026-01-01' recognized_time: type: integer title: Recognized Time description: Recognized time used in budget spending and accrual-based revenue calculations. example: gt: 0 status: enum: - 1 - 2 - 3 - 4 - 5 - 6 type: integer title: Status description: Approval status of the time entry. example: eq: active note: type: string title: Note description: Description of what the person was working on. example: eq: value use_salary_currency: type: boolean title: Use Salary Currency description: Whether to compute costs using the person's salary currency instead of the deal currency. example: eq: value creator: title: Creator description: The person who created this time entry. example: eq: value intercompany_hours: type: boolean title: Intercompany Hours description: True when the person's subsidiary differs from the deal subsidiary. example: eq: value unit_id: enum: - 1 - 2 - 3 type: integer title: Unit description: Tracking unit ID of the associated service. example: - 123 overhead: type: boolean title: Overhead description: Whether this time entry is included in overhead calculations. example: eq: value started_after: type: string title: Started After format: date description: Filter alias — only entries started after this value. example: eq: value currency_normalized: title: Currency Normalized description: Currency code in the normalized reporting currency. example: eq: value timer_stopped_at: type: string title: Timer Stopped At format: date-time description: When the timer was stopped. example: gt: '2026-01-01' work_cost_default: title: Work Cost Default description: Labor cost in the organization's default currency. example: eq: value person_subsidiary: title: Person Subsidiary description: The subsidiary of the person who tracked time. example: eq: value timesheet: title: Timesheet description: The daily timesheet this entry belongs to (unit of approval submission). example: gt: 0 overhead_cost: title: Overhead Cost description: Total overhead cost (internal + facility) of tracked time. example: eq: value budget_type_id: type: integer title: Budget Type description: Budget type ID of the associated deal. example: - 123 parent_company_id: type: integer title: Parent Company description: Filter time entries by the parent company of the client linked to their budget. example: - 123 person_id: type: integer title: Person description: ID of the person who tracked time. example: - 123 deal_name: title: Deal Name description: Name of the deal/budget this time was tracked on. example: eq: value service: title: Service description: The budget service this time was tracked against. example: eq: value project_manager_id: type: integer title: Project Manager description: ID of the project manager. example: - 123 cost: title: Cost description: Total cost of tracked time, including labor and overhead costs. example: eq: value task_id: type: integer title: Task description: ID of the task the person was working on. example: - 123 billable_time: type: integer title: Billable Time description: Hours billable to clients (time + correction for billable services, zero for non-billable). example: gt: 0 started_at: type: string title: Started At format: date-time description: Start date and time of the time entry. example: gt: '2026-01-01' rejecter: title: Rejecter description: The person who rejected this time entry. example: eq: value last_actor: title: Last Actor description: The last person who made changes to this entry. example: eq: value approver: title: Approver description: The person who approved this time entry. example: eq: value awaiting_approval_from_approver_id: type: integer title: Awaiting Approval From Approver description: awaiting approval from approver id of the time entry. example: - 123 last_actor_id: type: integer title: Last Actor description: last actor id of the time entry. example: - 123 internal_overhead_cost_normalized: title: Internal Overhead Cost Normalized description: Internal overhead cost in the normalized reporting currency. example: eq: value overhead_cost_normalized: title: Overhead Cost Normalized description: Total overhead cost in the normalized reporting currency. example: eq: value approved: title: Approved description: Whether this time entry has been approved. example: eq: value time: type: integer title: Time description: Duration of work in minutes. example: gt: 0 description: A time entry records the time a person has logged against a service on a deal or project, capturing the date, duration, and optionally a note describing the work done. example: id: '84848214' type: time_entries attributes: date: '2026-03-15' created_at: '2026-03-15T09:30:00.000+00:00' time: 480 note: Implemented user authentication flow track_method_id: 1 started_at: '2026-03-15T09:00:00.000+00:00' timer_started_at: timer_stopped_at: approved: false approved_at: updated_at: '2026-03-15T17:30:00.000+00:00' calendar_event_id: invoice_attribution_id: invoiced: false overhead: false rejected: false rejected_reason: rejected_at: last_activity_at: '2026-03-15T09:30:00.000+00:00' submitted: false currency: USD relationships: person: data: type: people id: '12' service: data: type: services id: '1856422' task: data: type: tasks id: '120501' approver: data: filter_tax_rate: type: object title: Filter tax rate properties: id: oneOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_tax_rate/properties/id" not_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/id" not_contain: "$ref": "#/components/schemas/resource_tax_rate/properties/id" contains: "$ref": "#/components/schemas/resource_tax_rate/properties/id" description: Filter using explicit operator syntax. example: eq: - 456789 description: Filter by ID. example: eq: - 456789 primary_component_name: oneOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" contains: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" eq: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" not_contain: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_name" description: Filter using explicit operator syntax. example: eq: GST description: Filter by the name of the primary tax component. example: eq: GST primary_component_value: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_value" not_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_value" not_contain: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_value" contains: "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_value" description: Filter using explicit operator syntax. example: eq: 5 - "$ref": "#/components/schemas/resource_tax_rate/properties/primary_component_value" description: Filter by the value of the primary tax component. example: eq: 5 secondary_component_name: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" not_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" not_contain: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" contains: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" description: Filter using explicit operator syntax. example: eq: PST - "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_name" description: Filter by the name of the secondary tax component. example: eq: PST name: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_tax_rate/properties/name" not_contain: "$ref": "#/components/schemas/resource_tax_rate/properties/name" not_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/name" eq: "$ref": "#/components/schemas/resource_tax_rate/properties/name" description: Filter using explicit operator syntax. example: eq: HST 13% - "$ref": "#/components/schemas/resource_tax_rate/properties/name" description: Filter by tax rate name (text search). example: eq: HST 13% secondary_component_value: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" contains: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" eq: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" not_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" description: Filter using explicit operator syntax. example: eq: 8 - "$ref": "#/components/schemas/resource_tax_rate/properties/secondary_component_value" description: Filter by the value of the secondary tax component. example: eq: 8 status: oneOf: - "$ref": "#/components/schemas/resource_tax_rate/properties/status" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_tax_rate/properties/status" contains: "$ref": "#/components/schemas/resource_tax_rate/properties/status" eq: "$ref": "#/components/schemas/resource_tax_rate/properties/status" not_eq: "$ref": "#/components/schemas/resource_tax_rate/properties/status" description: Filter using explicit operator syntax. example: eq: - 1 description: Filter by status (active or archived). example: eq: - 1 patternProperties: "^subsidiary..*$": title: Subsidiary relationship description: Filter parameters for tax rates. example: id: eq: - 456789 _filter_root_discussion: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_discussion" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_discussion" description: Filter schema for `discussion` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_invoice_report: type: object title: Filter invoice report properties: currency: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/currency" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/currency" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/currency" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/currency" description: Filter operator object for currency. example: eq: value - "$ref": "#/components/schemas/resource_invoice_report/properties/currency" description: Filter invoice report results by currency. example: eq: value company_id: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/company_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/company_id" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/company_id" description: Filter operator object for company id. example: - 123 description: Filter invoice report results by company id. example: - 123 amount_paid: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/amount_paid" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_paid" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_paid" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_paid" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_paid" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 description: Filter by paid amount range. example: gt: 0 creator_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/creator_id" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/creator_id" description: Filter operator object for creator id. example: - 123 - "$ref": "#/components/schemas/resource_invoice_report/properties/creator_id" description: Filter invoice report results by creator id. example: - 123 jump_query: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/jump_query" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/jump_query" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/jump_query" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/jump_query" description: Filter operator object for jump query. example: eq: value - "$ref": "#/components/schemas/resource_invoice_report/properties/jump_query" description: Filter invoice report results by jump query. example: eq: value responsible_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/responsible_id" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/responsible_id" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/responsible_id" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/responsible_id" description: Filter operator object for responsible id. example: - 123 - "$ref": "#/components/schemas/resource_invoice_report/properties/responsible_id" description: Filter invoice report results by responsible id. example: - 123 credited: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/credited" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/credited" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/credited" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/credited" description: Filter operator object for credited. example: eq: value - "$ref": "#/components/schemas/resource_invoice_report/properties/credited" description: Filter invoice report results by credited. example: eq: value delivery_on: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/delivery_on" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/delivery_on" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/delivery_on" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/delivery_on" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/delivery_on" description: Filter operator object for delivery on. example: eq: value description: Filter invoice report results by delivery on. example: eq: value full_query: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/full_query" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/full_query" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/full_query" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/full_query" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/full_query" description: Filter operator object for full query. example: eq: value description: Filter invoice report results by full query. example: eq: value pay_on: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/pay_on" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/pay_on" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/pay_on" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/pay_on" description: Filter operator object for pay on. example: eq: value - "$ref": "#/components/schemas/resource_invoice_report/properties/pay_on" description: Filter invoice report results by pay on. example: eq: value created_at: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/created_at" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/created_at" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/created_at" description: Filter operator object for created at. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_invoice_report/properties/created_at" description: Filter invoice report results by created at. example: gt: '2026-01-01' invoice_state: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_state" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_state" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_state" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_state" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_state" description: Filter operator object for invoice state. example: eq: active description: Filter invoice report results by invoice state. example: eq: active amount_with_tax: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_with_tax" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_with_tax" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_with_tax" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_with_tax" description: Filter operator object for amount with tax. example: gt: 0 - "$ref": "#/components/schemas/resource_invoice_report/properties/amount_with_tax" description: Filter invoice report results by amount with tax. example: gt: 0 automatically_created: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/automatically_created" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/automatically_created" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/automatically_created" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/automatically_created" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/automatically_created" description: Filter operator object for automatically created. example: eq: value description: Filter invoice report results by automatically created. example: eq: value paid_on: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/paid_on" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/paid_on" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/paid_on" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/paid_on" description: Filter operator object for paid on. example: eq: value - "$ref": "#/components/schemas/resource_invoice_report/properties/paid_on" description: Filter invoice report results by paid on. example: eq: value query: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/query" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/query" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/query" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/query" description: Filter operator object for query. example: eq: value - "$ref": "#/components/schemas/resource_invoice_report/properties/query" description: Filter invoice report results by query. example: eq: value issuer_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/issuer_id" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/issuer_id" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/issuer_id" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/issuer_id" description: Filter operator object for issuer id. example: - 123 - "$ref": "#/components/schemas/resource_invoice_report/properties/issuer_id" description: Filter invoice report results by issuer id. example: - 123 fuzzy_dates: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice_report/properties/fuzzy_dates" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/fuzzy_dates" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/fuzzy_dates" description: Filter operator object for fuzzy dates. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_invoice_report/properties/fuzzy_dates" description: Filter invoice report results by fuzzy dates. example: gt: '2026-01-01' sent_on: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/sent_on" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/sent_on" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/sent_on" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/sent_on" description: Filter operator object for sent on. example: eq: value - "$ref": "#/components/schemas/resource_invoice_report/properties/sent_on" description: Filter invoice report results by sent on. example: eq: value subscriber_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/subscriber_id" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/subscriber_id" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/subscriber_id" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/subscriber_id" description: Filter operator object for subscriber id. example: - 123 - "$ref": "#/components/schemas/resource_invoice_report/properties/subscriber_id" description: Filter invoice report results by subscriber id. example: - 123 invoice_aging: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_aging" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_aging" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_aging" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_aging" description: Filter operator object for invoice aging. example: eq: value - "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_aging" description: Filter invoice report results by invoice aging. example: eq: value number: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/number" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/number" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/number" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/number" description: Filter operator object for number. example: gt: 0 - "$ref": "#/components/schemas/resource_invoice_report/properties/number" description: Filter invoice report results by number. example: gt: 0 last_activity_at: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/last_activity_at" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice_report/properties/last_activity_at" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/last_activity_at" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/last_activity_at" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/last_activity_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by last activity date range (`last_activity_at`). example: gt: '2026-01-01' subsidiary_id: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/subsidiary_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/subsidiary_id" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/subsidiary_id" description: Filter operator object for subsidiary id. example: - 123 description: Filter invoice report results by subsidiary id. example: - 123 fiscalization_status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice_report/properties/fiscalization_status" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/fiscalization_status" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/fiscalization_status" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/fiscalization_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_invoice_report/properties/fiscalization_status" description: Filter by the fiscalization status of the invoice. example: eq: active deal_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/deal_id" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/deal_id" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/deal_id" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/deal_id" description: Filter operator object for deal id. example: - 123 - "$ref": "#/components/schemas/resource_invoice_report/properties/deal_id" description: Filter invoice report results by deal id. example: - 123 tax_rates: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/tax_rates" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/tax_rates" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/tax_rates" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/tax_rates" description: Filter operator object for tax rates. example: gt: 0 - "$ref": "#/components/schemas/resource_invoice_report/properties/tax_rates" description: Filter invoice report results by tax rates. example: gt: 0 payment_terms: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/payment_terms" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/payment_terms" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/payment_terms" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/payment_terms" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/payment_terms" description: Filter operator object for payment terms. example: eq: value description: Filter invoice report results by payment terms. example: eq: value payment_status: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/payment_status" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/payment_status" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/payment_status" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/payment_status" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/payment_status" description: Filter operator object for payment status. example: eq: active description: Filter invoice report results by payment status. example: eq: active export_status: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/export_status" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/export_status" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/export_status" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/export_status" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/export_status" description: Filter operator object for export status. example: eq: active description: Filter invoice report results by export status. example: eq: active id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/id" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/id" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/id" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/id" description: Filter operator object for id. example: - 123 - "$ref": "#/components/schemas/resource_invoice_report/properties/id" description: Filter invoice report results by id. example: - 123 amount: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/amount" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/amount" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/amount" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 description: Filter by the total invoice amount excluding tax. Expressed in the organization's base currency. example: gt: 0 invoicing_method: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/invoicing_method" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice_report/properties/invoicing_method" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/invoicing_method" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoicing_method" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoicing_method" description: Filter operator object for invoicing method. example: eq: value description: Filter invoice report results by invoicing method. example: eq: value purchase_order_number: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/purchase_order_number" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/purchase_order_number" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/purchase_order_number" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/purchase_order_number" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/purchase_order_number" description: Filter operator object for purchase order number. example: eq: PO-2024-017 description: Filter invoice report results by purchase order number. example: eq: PO-2024-017 tags: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/tags" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/tags" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/tags" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/tags" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/tags" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by tag. example: eq: value formulas: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/formulas" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/formulas" description: Filter operator object for formulas. example: eq: value - "$ref": "#/components/schemas/resource_invoice_report/properties/formulas" description: Filter invoice report results by formulas. example: eq: value currency_id: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/currency_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/currency_id" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/currency_id" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/currency_id" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/currency_id" description: Filter operator object for currency id. example: - 123 description: Filter invoice report results by currency id. example: - 123 einvoice_status: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/einvoice_status" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice_report/properties/einvoice_status" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/einvoice_status" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/einvoice_status" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/einvoice_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: delivered description: Filter by the e-invoice delivery status. example: delivered amount_credited: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_credited" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_credited" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_credited" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_credited" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 - "$ref": "#/components/schemas/resource_invoice_report/properties/amount_credited" description: Filter by the credited amount on the invoice, excluding tax. example: gt: 0 invoice_type: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_type" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_type" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_type" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_type" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_type" description: Filter operator object for invoice type. example: eq: active description: Filter invoice report results by invoice type. example: eq: active amount_credited_with_tax: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/amount_credited_with_tax" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_credited_with_tax" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_credited_with_tax" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_credited_with_tax" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_credited_with_tax" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 description: Filter by the credited amount on the invoice, including tax. example: gt: 0 invoice_status: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_status" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_status" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_status" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_status" description: Filter operator object for invoice status. example: eq: active - "$ref": "#/components/schemas/resource_invoice_report/properties/invoice_status" description: Filter invoice report results by invoice status. example: eq: active amount_written_off: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/amount_written_off" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_written_off" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_written_off" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_written_off" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_written_off" description: Filter operator object for amount written off. example: gt: 0 description: Filter invoice report results by amount written off. example: gt: 0 project_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/project_id" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/project_id" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/project_id" description: Filter operator object for project id. example: - 123 - "$ref": "#/components/schemas/resource_invoice_report/properties/project_id" description: Filter invoice report results by project id. example: - 123 status: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/status" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/status" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/status" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/status" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/status" description: Filter operator object for status. example: eq: active description: Filter invoice report results by status. example: eq: active sent_status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice_report/properties/sent_status" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/sent_status" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/sent_status" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/sent_status" description: Filter operator object for sent status. example: eq: active - "$ref": "#/components/schemas/resource_invoice_report/properties/sent_status" description: Filter invoice report results by sent status. example: eq: active parent_invoice_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_report/properties/parent_invoice_id" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/parent_invoice_id" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/parent_invoice_id" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/parent_invoice_id" description: Filter operator object for parent invoice id. example: - 123 - "$ref": "#/components/schemas/resource_invoice_report/properties/parent_invoice_id" description: Filter invoice report results by parent invoice id. example: - 123 custom_fields: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/custom_fields" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice_report/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/custom_fields" description: Filter operator object for custom fields. example: eq: value description: Filter invoice report results by custom fields. example: eq: value amount_unpaid: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/amount_unpaid" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_unpaid" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_unpaid" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_unpaid" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_unpaid" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 description: Filter by unpaid amount range. example: gt: 0 overdue_status: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/overdue_status" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/overdue_status" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/overdue_status" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/overdue_status" description: Filter operator object for overdue status. example: eq: active - "$ref": "#/components/schemas/resource_invoice_report/properties/overdue_status" description: Filter invoice report results by overdue status. example: eq: active parent_company_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice_report/properties/parent_company_id" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/parent_company_id" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/parent_company_id" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/parent_company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_invoice_report/properties/parent_company_id" description: Filter by the parent company of the invoice's company. example: - 123 amount_tax: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/amount_tax" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_tax" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_tax" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_tax" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/amount_tax" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 description: Filter by tax amount range. example: gt: 0 fuzzy_people: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/fuzzy_people" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice_report/properties/fuzzy_people" not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/fuzzy_people" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/fuzzy_people" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/fuzzy_people" description: Filter operator object for fuzzy people. example: eq: value description: Filter invoice report results by fuzzy people. example: eq: value invoiced_on: oneOf: - "$ref": "#/components/schemas/resource_invoice_report/properties/invoiced_on" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_report/properties/invoiced_on" eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoiced_on" not_eq: "$ref": "#/components/schemas/resource_invoice_report/properties/invoiced_on" contains: "$ref": "#/components/schemas/resource_invoice_report/properties/invoiced_on" description: Filter operator object for invoiced on. example: eq: value description: Filter invoice report results by invoiced on. example: eq: value patternProperties: "^company..*$": title: Company relationship description: Available filter parameters for querying invoice report records. example: id: eq: '123' resource_revenue_distribution: type: object title: Revenue distribution Resource properties: created_at: type: string title: Created At format: date description: Timestamp when this revenue distribution was created. example: gt: '2026-01-01' amount: title: Amount description: The revenue amount for this distribution period in the deal's currency. example: gt: 0 end_on: type: string title: End On format: date description: Date when this revenue distribution period ends. example: eq: value amount_percent: type: number title: Amount Percent description: The percentage of the deal's total revenue allocated to this distribution period. example: gt: 0 organization: title: Organization description: The organization this revenue distribution belongs to. example: eq: value amount_normalized: title: Amount Normalized description: The revenue amount for this distribution period in the deal's currency. example: gt: 0 amount_default: title: Amount Default description: The revenue amount for this distribution period in the organization's default currency. example: gt: 0 deal_id: type: integer title: Deal description: ID of the deal this revenue distribution belongs to. example: - 123 creator_id: type: integer title: Creator description: ID of the person who created this revenue distribution. example: - 123 currency_normalized: title: Currency Normalized description: The currency code of the deal this revenue distribution belongs to. example: eq: value currency: title: Currency description: The currency code of the deal this revenue distribution belongs to. example: eq: value deal: title: Deal description: The deal this revenue distribution belongs to. example: eq: value start_on: type: string title: Start On format: date description: Date when this revenue distribution period starts. example: eq: value currency_default: title: Currency Default description: The organization's default currency code. example: eq: value id: type: integer title: Id description: The unique identifier of this revenue distribution. example: - 123 description: A record defining how deal revenue is distributed across a specific date range. example: id: '123' type: revenue_distributions attributes: amount: 10000 date: '2026-01-15' project_id: 45 relationships: {} _filter_root_holiday: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_holiday" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_holiday" description: Filter schema for `holiday` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_report_category: type: object title: Report category Resource properties: color_id: type: integer title: Color description: Color identifier for this report category. example: - 123 organization: title: Organization description: The organization this report category belongs to. example: eq: value name: type: string title: Name description: Display name of this report category. example: eq: value position: type: integer title: Position description: Display order position of this report category. example: eq: value deleted_at: type: string title: Deleted At format: date-time description: Timestamp when this report category was deleted. example: gt: '2026-01-01' description: An aggregated report category resource grouping saved report filters. example: id: '123' type: report_categories attributes: name: Financial Reports description: Revenue and cost reports relationships: {} filter_person_report: type: object title: Filter person report properties: approval_policy_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/approval_policy_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/approval_policy_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/approval_policy_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/approval_policy_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/approval_policy_id" description: Filter by the person's assigned approval policy. example: - 123 custom_role_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/custom_role_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/custom_role_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/custom_role_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/custom_role_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/custom_role_id" description: Filter by the ID of the person's custom role (permission set). example: - 123 service_id: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/service_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/service_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/service_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/service_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/service_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated service. example: - 123 last_seen_at: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/last_seen_at" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/last_seen_at" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/last_seen_at" contains: "$ref": "#/components/schemas/resource_person_report/properties/last_seen_at" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/last_seen_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by the date the person was last seen (last_seen_at). example: gt: '2026-01-01' subscribable_type: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_person_report/properties/subscribable_type" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/subscribable_type" contains: "$ref": "#/components/schemas/resource_person_report/properties/subscribable_type" eq: "$ref": "#/components/schemas/resource_person_report/properties/subscribable_type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_person_report/properties/subscribable_type" description: Filter by the type of subscribable resource (used together with subscribable_id). example: eq: active deactivated_at: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/deactivated_at" contains: "$ref": "#/components/schemas/resource_person_report/properties/deactivated_at" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/deactivated_at" eq: "$ref": "#/components/schemas/resource_person_report/properties/deactivated_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_person_report/properties/deactivated_at" description: Filter by deactivation date range (deactivated_at). example: gt: '2026-01-01' fuzzy_people: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/fuzzy_people" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/fuzzy_people" eq: "$ref": "#/components/schemas/resource_person_report/properties/fuzzy_people" contains: "$ref": "#/components/schemas/resource_person_report/properties/fuzzy_people" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/fuzzy_people" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Fuzzy search by person name. example: eq: value last_name: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_person_report/properties/last_name" eq: "$ref": "#/components/schemas/resource_person_report/properties/last_name" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/last_name" contains: "$ref": "#/components/schemas/resource_person_report/properties/last_name" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_person_report/properties/last_name" description: Filter by the person's last name. example: eq: value project_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/project_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/project_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/project_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/project_id" description: Filter by the associated project. example: - 123 last_activity_at: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/last_activity_at" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/last_activity_at" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/last_activity_at" contains: "$ref": "#/components/schemas/resource_person_report/properties/last_activity_at" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/last_activity_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by the date of the person's last activity (last_activity_at). example: gt: '2026-01-01' permissions: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/permissions" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_person_report/properties/permissions" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/permissions" contains: "$ref": "#/components/schemas/resource_person_report/properties/permissions" eq: "$ref": "#/components/schemas/resource_person_report/properties/permissions" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by the person's permission level in the organization. example: eq: value person_type: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/person_type" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/person_type" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/person_type" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/person_type" eq: "$ref": "#/components/schemas/resource_person_report/properties/person_type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by the person's type — employee, contractor, client contact, or placeholder. example: eq: active hrm_type_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_person_report/properties/hrm_type_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/hrm_type_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/hrm_type_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/hrm_type_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/hrm_type_id" description: Filter by the person's HR management type ID. example: - 123 bookings_after: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/bookings_after" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/bookings_after" contains: "$ref": "#/components/schemas/resource_person_report/properties/bookings_after" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/bookings_after" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/bookings_after" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Include only people with bookings starting after this date. example: eq: value approval_workflow_id: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/approval_workflow_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/approval_workflow_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/approval_workflow_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/approval_workflow_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/approval_workflow_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by approval workflow the person is part of. example: - 123 id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_person_report/properties/id" eq: "$ref": "#/components/schemas/resource_person_report/properties/id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/id" contains: "$ref": "#/components/schemas/resource_person_report/properties/id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/id" description: Filter by the person's ID. example: - 123 archived_at: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/archived_at" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/archived_at" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/archived_at" eq: "$ref": "#/components/schemas/resource_person_report/properties/archived_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_person_report/properties/archived_at" description: Filter by archival date range (archived_at). example: gt: '2026-01-01' subscribable_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_person_report/properties/subscribable_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/subscribable_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/subscribable_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/subscribable_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/subscribable_id" description: Filter by the ID of the subscribable resource (used together with subscribable_type). example: - 123 schedulable: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/schedulable" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/schedulable" contains: "$ref": "#/components/schemas/resource_person_report/properties/schedulable" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/schedulable" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/schedulable" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by whether the person can be scheduled (has a resourcing-eligible role). example: eq: value accessible_deal_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_person_report/properties/accessible_deal_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/accessible_deal_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/accessible_deal_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/accessible_deal_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/accessible_deal_id" description: Filter to people who have access to the specified deal. example: - 123 two_factor_auth: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/two_factor_auth" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/two_factor_auth" eq: "$ref": "#/components/schemas/resource_person_report/properties/two_factor_auth" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/two_factor_auth" contains: "$ref": "#/components/schemas/resource_person_report/properties/two_factor_auth" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by whether two-factor authentication is enabled for the person. example: eq: value bookings_before: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/bookings_before" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/bookings_before" eq: "$ref": "#/components/schemas/resource_person_report/properties/bookings_before" contains: "$ref": "#/components/schemas/resource_person_report/properties/bookings_before" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_person_report/properties/bookings_before" description: Include only people with bookings ending before this date. example: eq: value created_at: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/created_at" eq: "$ref": "#/components/schemas/resource_person_report/properties/created_at" contains: "$ref": "#/components/schemas/resource_person_report/properties/created_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_person_report/properties/created_at" description: Filter by creation date range (created_at). example: gt: '2026-01-01' timesheet_submission_disabled: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/timesheet_submission_disabled" eq: "$ref": "#/components/schemas/resource_person_report/properties/timesheet_submission_disabled" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/timesheet_submission_disabled" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/timesheet_submission_disabled" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 - "$ref": "#/components/schemas/resource_person_report/properties/timesheet_submission_disabled" description: Filter by whether timesheet submission is disabled for the person. example: gt: 0 company_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/company_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/company_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/company_id" description: Filter by client company. example: - 123 query: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/query" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/query" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/query" contains: "$ref": "#/components/schemas/resource_person_report/properties/query" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_person_report/properties/query" description: Full-text search query across person fields. example: eq: value autotracking: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/autotracking" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/autotracking" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/autotracking" eq: "$ref": "#/components/schemas/resource_person_report/properties/autotracking" contains: "$ref": "#/components/schemas/resource_person_report/properties/autotracking" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by whether the person has auto-tracking enabled. example: eq: value accessible_doc_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/accessible_doc_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/accessible_doc_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/accessible_doc_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/accessible_doc_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/accessible_doc_id" description: Filter to people who have access to the specified doc (page). example: - 123 team: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_person_report/properties/team" contains: "$ref": "#/components/schemas/resource_person_report/properties/team" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/team" eq: "$ref": "#/components/schemas/resource_person_report/properties/team" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_person_report/properties/team" description: Filter by the person's team membership. example: eq: value eligible_replacement_managers: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/eligible_replacement_managers" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/eligible_replacement_managers" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/eligible_replacement_managers" eq: "$ref": "#/components/schemas/resource_person_report/properties/eligible_replacement_managers" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/eligible_replacement_managers" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter to people eligible to replace the specified person as a manager. example: eq: value tags: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/tags" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/tags" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/tags" contains: "$ref": "#/components/schemas/resource_person_report/properties/tags" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/tags" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by tag. example: eq: value email: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/email" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/email" contains: "$ref": "#/components/schemas/resource_person_report/properties/email" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/email" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/email" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by email address (text search). example: eq: value manager_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/manager_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/manager_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/manager_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/manager_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/manager_id" description: Filter by the person's direct manager. example: - 123 title: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/title" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/title" contains: "$ref": "#/components/schemas/resource_person_report/properties/title" eq: "$ref": "#/components/schemas/resource_person_report/properties/title" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/title" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by the person's job title. example: eq: value fuzzy_dates: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/fuzzy_dates" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_person_report/properties/fuzzy_dates" contains: "$ref": "#/components/schemas/resource_person_report/properties/fuzzy_dates" eq: "$ref": "#/components/schemas/resource_person_report/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/fuzzy_dates" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Enable fuzzy matching for date values in the query. example: gt: '2026-01-01' holiday_calendar_id: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/holiday_calendar_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/holiday_calendar_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/holiday_calendar_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/holiday_calendar_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/holiday_calendar_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the ID of the person's holiday calendar. example: - 123 custom_fields: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/custom_fields" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_person_report/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_person_report/properties/custom_fields" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by custom field values. example: eq: value full_query: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/full_query" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/full_query" eq: "$ref": "#/components/schemas/resource_person_report/properties/full_query" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/full_query" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_person_report/properties/full_query" description: Full-text search query — matches across person name, email, and other fields. example: eq: value status: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/status" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/status" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/status" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/status" eq: "$ref": "#/components/schemas/resource_person_report/properties/status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by the person's account status — active or inactive. example: eq: active joined_at: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/joined_at" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/joined_at" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/joined_at" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/joined_at" eq: "$ref": "#/components/schemas/resource_person_report/properties/joined_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by the date the person joined the organization (joined_at). example: gt: '2026-01-01' service_type_id: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/service_type_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/service_type_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/service_type_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/service_type_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/service_type_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the person's assigned service type. example: - 123 subsidiary_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/subsidiary_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/subsidiary_id" description: Filter by the person's subsidiary. example: - 123 first_name: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/first_name" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/first_name" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/first_name" eq: "$ref": "#/components/schemas/resource_person_report/properties/first_name" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/first_name" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by the person's first name. example: eq: value agent: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/agent" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/agent" eq: "$ref": "#/components/schemas/resource_person_report/properties/agent" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/agent" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/agent" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by whether the person is an AI agent. example: eq: value project_watching: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/project_watching" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/project_watching" contains: "$ref": "#/components/schemas/resource_person_report/properties/project_watching" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/project_watching" eq: "$ref": "#/components/schemas/resource_person_report/properties/project_watching" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by project IDs the person is auto-subscribed (watching) to. example: eq: value jump_query: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/jump_query" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/jump_query" contains: "$ref": "#/components/schemas/resource_person_report/properties/jump_query" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/jump_query" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_person_report/properties/jump_query" description: Quick search query for navigating to a person by name. example: eq: value accessible_project_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_person_report/properties/accessible_project_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/accessible_project_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/accessible_project_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/accessible_project_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/accessible_project_id" description: Filter to people who have access to the specified project. example: - 123 role_id: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/role_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_person_report/properties/role_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/role_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/role_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/role_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the person's assigned role. example: - 123 accessible_filter_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/accessible_filter_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/accessible_filter_id" contains: "$ref": "#/components/schemas/resource_person_report/properties/accessible_filter_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/accessible_filter_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/accessible_filter_id" description: Filter to people who have access to the specified saved filter. example: - 123 time_tracking_policy_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_person_report/properties/time_tracking_policy_id" eq: "$ref": "#/components/schemas/resource_person_report/properties/time_tracking_policy_id" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/time_tracking_policy_id" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/time_tracking_policy_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_person_report/properties/time_tracking_policy_id" description: Filter by the person's assigned time tracking policy. example: - 123 virtual: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/virtual" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_person_report/properties/virtual" not_contain: "$ref": "#/components/schemas/resource_person_report/properties/virtual" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/virtual" contains: "$ref": "#/components/schemas/resource_person_report/properties/virtual" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by whether the person is a virtual/placeholder person. example: eq: value offboarding_status: oneOf: - "$ref": "#/components/schemas/resource_person_report/properties/offboarding_status" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_person_report/properties/offboarding_status" eq: "$ref": "#/components/schemas/resource_person_report/properties/offboarding_status" not_eq: "$ref": "#/components/schemas/resource_person_report/properties/offboarding_status" contains: "$ref": "#/components/schemas/resource_person_report/properties/offboarding_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by the person's offboarding status. example: eq: active patternProperties: "^company..*$": title: Company relationship "^contact..*$": title: Contact relationship "^bookings..*$": title: Bookings relationship "^subsidiary..*$": title: Subsidiary relationship "^custom_role..*$": title: Custom role relationship description: Available filter parameters for querying aggregated person report data. example: id: eq: '123' resource_service_report: type: object title: Service report Resource properties: total_price_normalized: title: Total Price Normalized description: Sum of price in the normalized currency across all records in this service report group. example: gt: 0 section_position: title: Section Position description: Section position for this service report group. example: eq: value deal_stage_id: type: integer title: Deal Stage description: Deal stage id for this service report group. example: - 123 cost: title: Cost description: Cost for this service report group. example: eq: value total_forecasted_billable_time: type: number title: Total Forecasted Billable Time description: Sum of forecasted billable time across all records in this service report group. example: gt: 0 total_markup_amount: title: Total Markup Amount description: Sum of markup amount across all records in this service report group. example: gt: 0 revamped_unit: enum: - 1 - 2 - 3 type: integer title: Revamped Unit description: Revamped unit for this service report group. example: eq: value average_actual_rate_default: title: Average Actual Rate Default description: Average actual rate in the organization's default currency for this service report group. example: gt: 0 total_revenue_default: title: Total Revenue Default description: Sum of revenue in the organization's default currency across all records in this service report group. example: eq: value total_discount_amount_default: title: Total Discount Amount Default description: Sum of discount amount in the organization's default currency across all records in this service report group. example: gt: 0 total_future_budget_used: title: Total Future Budget Used description: Sum of future budget used across all records in this service report group. example: gt: 0 total_markup_amount_default: title: Total Markup Amount Default description: Sum of markup amount in the organization's default currency across all records in this service report group. example: gt: 0 total_future_budget_used_default: title: Total Future Budget Used Default description: Sum of future budget used in the organization's default currency across all records in this service report group. example: gt: 0 total_price: title: Total Price description: Sum of price across all records in this service report group. example: gt: 0 sales_status_id: enum: - 1 - 2 - 3 - 4 type: integer title: Sales Status description: Sales status id for this service report group. example: - 123 origin_deal: title: Origin Deal description: Origin deal for this service report group. example: eq: value total_cost_default: title: Total Cost Default description: Sum of cost in the organization's default currency across all records in this service report group. example: eq: value price: title: Price description: Price for this service report group. example: gt: 0 bookable_before: type: string title: Bookable Before format: date description: Bookable before for this service report group. example: eq: value recurring: type: integer title: Recurring description: Recurring for this service report group. example: eq: value discount_amount: title: Discount Amount description: Discount amount for this service report group. example: gt: 0 total_revenue: title: Total Revenue description: Sum of revenue across all records in this service report group. example: eq: value booked_time: type: integer title: Booked Time description: Booked time for this service report group. example: gt: 0 responsible: title: Responsible description: Responsible for this service report group. example: eq: value bookable_date_for_period: type: string title: Bookable Date For Period format: date description: Filter services in this report group to those bookable on the specified date. example: gt: '2026-01-01' total_budget_remaining_normalized: title: Total Budget Remaining Normalized description: Sum of budget remaining in the normalized currency across all records in this service report group. example: gt: 0 currency_default: title: Currency Default description: Currency in the organization's default currency for this service report group. example: eq: value name: type: string title: Name description: Name for this service report group. example: eq: value total_budget_total_default: title: Total Budget Total Default description: Sum of budget total in the organization's default currency across all records in this service report group. example: gt: 0 total_profit: title: Total Profit description: Sum of profit across all records in this service report group. example: eq: value average_markup: type: string title: Average Markup description: Average markup for this service report group. example: eq: value origin_deal_report: title: Origin Deal Report description: Related origin deal report data for this service report group. example: eq: value total_cost: title: Total Cost description: Sum of cost across all records in this service report group. example: eq: value sales_status: title: Sales Status description: Sales status for this service report group. example: eq: active average_budget_usage: type: number title: Average Budget Usage description: Average budget usage for this service report group. example: gt: 0 projectless_budgets: type: boolean title: Projectless Budgets description: Projectless budgets for this service report group. example: gt: 0 deal_status_id: type: integer title: Deal Status description: Deal status id for this service report group. example: - 123 net_unplanned_time: type: integer title: Net Unplanned Time example: gt: 0 average_forecasted_budget_usage: type: number title: Average Forecasted Budget Usage description: Average forecasted budget usage for this service report group. example: gt: 0 profit: type: integer title: Profit description: Profit for this service report group. example: eq: value person_id: type: integer title: Person description: Person id for this service report group. example: - 123 total_future_budget_used_normalized: title: Total Future Budget Used Normalized description: Sum of future budget used in the normalized currency across all records in this service report group. example: gt: 0 estimated_time: type: integer title: Estimated Time description: Estimated time for this service report group. example: gt: 0 total_discount_amount: title: Total Discount Amount description: Sum of discount amount across all records in this service report group. example: gt: 0 stage_status: title: Stage Status description: Stage status for this service report group. example: eq: active service_type_id: type: integer title: Service Type description: Service type id for this service report group. example: - 123 average_budget_usage_normalized: title: Average Budget Usage Normalized description: Average budget usage in the normalized currency for this service report group. example: gt: 0 type: type: integer title: Type description: Type for this service report group. example: active stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type for this service report group. example: eq: active total_worked_cost_default: title: Total Worked Cost Default description: Sum of worked cost in the organization's default currency across all records in this service report group. example: eq: value average_discount: type: string title: Average Discount description: Average discount for this service report group. example: gt: 0 average_profit_margin: type: number title: Average Profit Margin description: Average profit margin for this service report group. example: eq: value bookable_date: type: string title: Bookable Date format: date description: Bookable date for this service report group. example: gt: '2026-01-01' total_budget_total: title: Total Budget Total description: Sum of budget total across all records in this service report group. example: gt: 0 origin_service_id: type: integer title: Origin Service description: Origin service id for this service report group. example: - 123 service_description: title: Service Description description: Service description for this service report group. example: eq: value custom_fields: type: string title: Custom Fields description: Custom fields for this service report group. example: eq: value budget: title: Budget description: Budget for this service report group. example: gt: 0 billable_time: type: integer title: Billable Time description: Billable time for this service report group. example: gt: 0 with_memberships: type: boolean title: With Memberships description: With memberships for this service report group. example: eq: value service_billable: title: Service Billable description: Service billable for this service report group. example: eq: value expense_tracking_enabled: type: integer title: Expense Tracking Enabled description: Expense tracking enabled for this service report group. example: eq: value total_future_booked_time: type: number title: Total Future Booked Time description: Sum of future booked time across all records in this service report group. example: gt: 0 total_estimated_time: type: number title: Total Estimated Time description: Sum of estimated time across all records in this service report group. example: gt: 0 budget_date: type: string title: Budget Date format: date description: Budget date for this service report group. example: gt: '2026-01-01' budget_cap_enabled: type: integer title: Budget Cap Enabled description: Budget cap enabled for this service report group. example: gt: 0 average_forecasted_budget_usage_default: type: number title: Average Forecasted Budget Usage Default description: Average forecasted budget usage in the organization's default currency for this service report group. example: gt: 0 service_position: title: Service Position description: Service position for this service report group. example: eq: value section: title: Section description: Section for this service report group. example: eq: value remaining_scheduled_time: type: integer title: Remaining Scheduled Time description: Remaining scheduled time for this service report group. example: gt: 0 budget_used: title: Budget Used description: Budget used for this service report group. example: gt: 0 budget_custom_fields: type: string title: Budget Custom Fields description: Budget custom fields for this service report group. example: gt: 0 profit_margin: type: number title: Profit Margin description: Profit margin for this service report group. example: eq: value section_id: type: integer title: Section description: Section id for this service report group. example: - 123 total_worked_cost_normalized: title: Total Worked Cost Normalized description: Sum of worked cost in the normalized currency across all records in this service report group. example: eq: value total_forecasted_budget_used: title: Total Forecasted Budget Used description: Sum of forecasted budget used across all records in this service report group. example: gt: 0 currency_normalized: title: Currency Normalized description: Currency in the normalized currency for this service report group. example: eq: value organization: title: Organization description: Organization for this service report group. example: eq: value time_tracking_enabled: type: integer title: Time Tracking Enabled description: Time tracking enabled for this service report group. example: gt: 0 total_projected_revenue: title: Total Projected Revenue description: Sum of projected revenue across all records in this service report group. example: eq: value estimated_cost: title: Estimated Cost description: Estimated cost for this service report group. example: gt: 0 formulas: type: integer title: Formulas description: Formulas for this service report group. example: eq: value booking_tracking_enabled: type: integer title: Booking Tracking Enabled description: Booking tracking enabled for this service report group. example: eq: value future_booked_time: type: integer title: Future Booked Time description: Future booked time for this service report group. example: gt: 0 quantity: type: number title: Quantity description: Quantity for this service report group. example: eq: value project_report: title: Project Report description: Project report for this service report group. example: eq: value total_unapproved_time: type: number title: Total Unapproved Time description: Sum of unapproved time across all records in this service report group. example: gt: 0 task_id: type: integer title: Task description: Task id for this service report group. example: - 123 pipeline_id: type: integer title: Pipeline description: Pipeline id for this service report group. example: - 123 limitation_type: enum: - no_limitation - estimate_limitation - quantity_limitation - budget_fully_used type: string title: Limitation Type description: Limitation type for this service report group. example: eq: active total_net_unplanned_time: type: number title: Total Net Unplanned Time example: gt: 0 worked_time: type: integer title: Worked Time description: Worked time for this service report group. example: gt: 0 contract: title: Contract description: Contract for this service report group. example: eq: value report: title: Report description: Report for this service report group. example: eq: value total_budgeted_time: type: number title: Total Budgeted Time description: Sum of budgeted time across all records in this service report group. example: gt: 0 service_name: title: Service Name description: Service name for this service report group. example: eq: value id: type: integer title: Id description: Unique identifier for this service report row. example: - 123 total_expense_cost: title: Total Expense Cost description: Sum of expense cost across all records in this service report group. example: eq: value subsidiary: title: Subsidiary description: Subsidiary for this service report group. example: eq: value expense_cost: title: Expense Cost description: Expense cost for this service report group. example: eq: value average_forecasted_time_usage: type: number title: Average Forecasted Time Usage description: Average forecasted time usage for this service report group. example: gt: 0 pipeline: title: Pipeline description: Pipeline for this service report group. example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type for this service report group. example: eq: active total_budget_used_default: title: Total Budget Used Default description: Sum of budget used in the organization's default currency across all records in this service report group. example: gt: 0 total_booked_time: type: number title: Total Booked Time description: Sum of booked time across all records in this service report group. example: gt: 0 company_id: type: integer title: Company description: Company id for this service report group. example: - 123 total_estimated_cost: title: Total Estimated Cost description: Sum of estimated cost across all records in this service report group. example: gt: 0 count: type: integer title: Count description: Number of services in this report group. example: gt: 0 budgets_and_deals: type: boolean title: Budgets And Deals description: Budgets and deals for this service report group. example: gt: 0 discount: type: number title: Discount description: Discount for this service report group. example: gt: 0 average_profit_margin_normalized: title: Average Profit Margin Normalized description: Average profit margin in the normalized currency for this service report group. example: eq: value unit: enum: - 1 - 2 - 3 type: integer title: Unit description: Unit for this service report group. example: eq: value trackable_by_person_id: type: integer title: Trackable By Person description: Trackable by person id for this service report group. example: 123 worked_cost: title: Worked Cost description: Worked cost for this service report group. example: eq: value currency: type: string title: Currency description: Currency for this service report group. example: eq: value budget_remaining: type: integer title: Budget Remaining description: Budget remaining for this service report group. example: gt: 0 service_type: title: Service Type description: Service type for this service report group. example: eq: active company_report: title: Company Report description: Company report for this service report group. example: eq: value total_recognized_revenue_default: title: Total Recognized Revenue Default description: Sum of recognized revenue in the organization's default currency across all records in this service report group. example: eq: value total_expense_cost_normalized: title: Total Expense Cost Normalized description: Sum of expense cost in the normalized currency across all records in this service report group. example: eq: value date_period: title: Date Period description: Time period grouping for date (e.g. week, month, quarter). example: eq: value owner_report: title: Owner Report description: Owner report for this service report group. example: eq: value budget_total: title: Budget Total description: Budget total for this service report group. example: gt: 0 total_revenue_normalized: title: Total Revenue Normalized description: Sum of revenue in the normalized currency across all records in this service report group. example: eq: value total_estimated_cost_default: title: Total Estimated Cost Default description: Sum of estimated cost in the organization's default currency across all records in this service report group. example: gt: 0 total_expense_cost_default: title: Total Expense Cost Default description: Sum of expense cost in the organization's default currency across all records in this service report group. example: eq: value average_forecasted_budget_usage_normalized: title: Average Forecasted Budget Usage Normalized description: Average forecasted budget usage in the normalized currency for this service report group. example: gt: 0 total_worked_cost: title: Total Worked Cost description: Sum of worked cost across all records in this service report group. example: eq: value subsidiary_id: type: integer title: Subsidiary description: Subsidiary id for this service report group. example: - 123 template: type: boolean title: Template description: Template for this service report group. example: eq: value stage_status_id: enum: - 1 - 2 - 3 - 4 type: integer title: Stage Status description: Stage status id for this service report group. example: - 123 total_rolled_over_time: type: number title: Total Rolled Over Time description: Sum of rolled over time across all records in this service report group. example: gt: 0 total_forecasted_budget_used_normalized: title: Total Forecasted Budget Used Normalized description: Sum of forecasted budget used in the normalized currency across all records in this service report group. example: gt: 0 recognized_revenue: title: Recognized Revenue description: Recognized revenue for this service report group. example: eq: value total_projected_revenue_normalized: title: Total Projected Revenue Normalized description: Sum of projected revenue in the normalized currency across all records in this service report group. example: eq: value service_deal_date: title: Service Deal Date description: Service deal date for this service report group. example: gt: '2026-01-01' average_budget_usage_default: type: number title: Average Budget Usage Default description: Average budget usage in the organization's default currency for this service report group. example: gt: 0 initial_service_id: type: integer title: Initial Service description: Initial service id for this service report group. example: - 123 total_projected_revenue_default: title: Total Projected Revenue Default description: Sum of projected revenue in the organization's default currency across all records in this service report group. example: eq: value average_retainer_interval_count: type: integer title: Average Retainer Interval Count description: The average number of interval units per retainer period across services in this group. example: gt: 0 for_tracking: type: boolean title: For Tracking description: For tracking for this service report group. example: eq: value total_budget_remaining_default: title: Total Budget Remaining Default description: Sum of budget remaining in the organization's default currency across all records in this service report group. example: gt: 0 average_profit_margin_default: type: number title: Average Profit Margin Default description: Average profit margin in the organization's default currency for this service report group. example: eq: value total_billable_time: type: number title: Total Billable Time description: Sum of billable time across all records in this service report group. example: gt: 0 average_actual_rate_normalized: title: Average Actual Rate Normalized description: Average actual rate in the normalized currency for this service report group. example: gt: 0 budgeted_time: type: integer title: Budgeted Time description: Budgeted time for this service report group. example: gt: 0 before: type: string title: Before format: date description: Before for this service report group. example: eq: value total_estimated_remaining_time: type: number title: Total Estimated Remaining Time description: Sum of estimated remaining time across all records in this service report group. example: gt: 0 service: title: Service description: Service for this service report group. example: eq: value after: type: string title: After format: date description: After for this service report group. example: eq: value total_price_default: title: Total Price Default description: Sum of price in the organization's default currency across all records in this service report group. example: gt: 0 total_budget_total_normalized: title: Total Budget Total Normalized description: Sum of budget total in the normalized currency across all records in this service report group. example: gt: 0 total_profit_normalized: title: Total Profit Normalized description: Sum of profit in the normalized currency across all records in this service report group. example: eq: value total_discount_amount_normalized: title: Total Discount Amount Normalized description: Sum of discount amount in the normalized currency across all records in this service report group. example: gt: 0 deal_custom_fields: type: string title: Deal Custom Fields description: Deal custom fields for this service report group. example: eq: value total_remaining_scheduled_time: type: number title: Total Remaining Scheduled Time description: Sum of remaining scheduled time across all records in this service report group. example: gt: 0 formula_fields: title: Formula Fields description: Formula fields for this service report group. example: eq: value contract_id: type: integer title: Contract description: Contract id for this service report group. example: - 123 section_name: type: string title: Section Name description: Section name for this service report group. example: eq: value future_budget_used: title: Future Budget Used description: Future budget used for this service report group. example: gt: 0 updated_at: type: string title: Updated At format: date description: Updated at for this service report group. example: gt: '2026-01-01' service_unit: title: Service Unit description: Service unit for this service report group. example: eq: value responsible_id: type: integer title: Responsible description: Responsible id for this service report group. example: - 123 projected_revenue: title: Projected Revenue description: Projected revenue for this service report group. example: eq: value total_profit_default: title: Total Profit Default description: Sum of profit in the organization's default currency across all records in this service report group. example: eq: value project_id: type: integer title: Project description: Project id for this service report group. example: - 123 origin_deal_id: type: integer title: Origin Deal description: Origin deal id for this service report group. example: - 123 budget_id: type: integer title: Budget description: Budget id for this service report group. example: - 123 left_to_schedule_time: type: integer title: Left To Schedule Time description: Left to schedule time for this service report group. example: gt: 0 project: title: Project description: Project for this service report group. example: eq: value total_forecasted_budget_used_default: title: Total Forecasted Budget Used Default description: Sum of forecasted budget used in the organization's default currency across all records in this service report group. example: gt: 0 group: type: string title: Group description: The grouping dimension for this service report row. example: eq: value budget_status: enum: - 1 - 2 type: integer title: Budget Status description: Budget status for this service report group. example: gt: 0 bookable_after: type: string title: Bookable After format: date description: Bookable after for this service report group. example: eq: value probability: type: integer title: Probability description: Probability for this service report group. example: eq: value markup_amount: title: Markup Amount description: Markup amount for this service report group. example: gt: 0 total_budget_used: title: Total Budget Used description: Sum of budget used across all records in this service report group. example: gt: 0 total_recognized_revenue_normalized: title: Total Recognized Revenue Normalized description: Sum of recognized revenue in the normalized currency across all records in this service report group. example: eq: value deal_or_budget_report: title: Deal Or Budget Report description: Report object for the deal or budget associated with services in this group. example: gt: 0 total_budget_remaining: title: Total Budget Remaining description: Sum of budget remaining across all records in this service report group. example: gt: 0 total_estimated_cost_normalized: title: Total Estimated Cost Normalized description: Sum of estimated cost in the normalized currency across all records in this service report group. example: gt: 0 total_cost_normalized: title: Total Cost Normalized description: Sum of cost in the normalized currency across all records in this service report group. example: eq: value total_worked_time: type: number title: Total Worked Time description: Sum of worked time across all records in this service report group. example: gt: 0 billing_type: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: Billing type for this service report group. example: eq: active markup: type: number title: Markup description: Markup for this service report group. example: eq: value explicit_access: type: boolean title: Explicit Access description: When true, filters service report entries to those the current user has explicit access to. example: eq: value unapproved_time: type: integer title: Unapproved Time description: Unapproved time for this service report group. example: 1500 service_discount: title: Service Discount description: Service discount for this service report group. example: gt: 0 company: title: Company description: Company for this service report group. example: eq: value rolled_over_time: type: integer title: Rolled Over Time description: Rolled over time for this service report group. example: gt: 0 service_markup: title: Service Markup description: Service markup for this service report group. example: eq: value total_budget_used_normalized: title: Total Budget Used Normalized description: Sum of budget used in the normalized currency across all records in this service report group. example: gt: 0 date: title: Date description: Date for this service report group. example: gt: '2026-01-01' total_markup_amount_normalized: title: Total Markup Amount Normalized description: Sum of markup amount in the normalized currency across all records in this service report group. example: gt: 0 query: type: string title: Query description: Query for this service report group. example: eq: value average_actual_rate: title: Average Actual Rate description: Average actual rate for this service report group. example: gt: 0 total_recognized_revenue: title: Total Recognized Revenue description: Sum of recognized revenue across all records in this service report group. example: eq: value deal_id: type: integer title: Deal description: Deal id for this service report group. example: - 123 revenue: title: Revenue description: Revenue for this service report group. example: eq: value deal_status: title: Deal Status description: Deal status for this service report group. example: eq: active billable: type: integer title: Billable description: Billable for this service report group. example: true total_left_to_schedule_time: type: number title: Total Left To Schedule Time description: Sum of left to schedule time across all records in this service report group. example: gt: 0 description: An aggregated service report row grouping services by configurable dimensions with financial totals, time metrics, and billing analysis. example: id: '123' type: service_reports attributes: billable_time: 4800 nonbillable_time: 600 budget_used: 25000 service_id: 34 relationships: {} resource_holiday: type: object title: Holiday Resource properties: after: type: string title: After format: date description: Filter to return holidays on or after this date. example: eq: value date: type: string title: Date format: date description: The date of this holiday. example: gt: '2026-01-01' organization: title: Organization description: The organization this holiday belongs to. example: eq: value name: type: string title: Name description: The name of this holiday (e.g. Christmas Day). example: eq: value before: type: string title: Before format: date description: Filter to return holidays on or before this date. example: eq: value holiday_calendar: title: Holiday Calendar description: The holiday calendar this holiday belongs to. example: eq: value holiday_calendar_id: type: integer title: Holiday Calendar description: ID of the holiday calendar this holiday belongs to. example: - 123 creator: title: Creator description: The person who created this holiday entry. example: eq: value description: A non-working day within a holiday calendar that affects person availability calculations. example: id: '45' type: holidays attributes: name: New Year's Day date: '2026-01-01' half_day: false relationships: holiday_calendar: data: type: holiday_calendars id: '3' resource_einvoice_identity: type: object title: E-invoice Identity Resource properties: peppol_id: type: string title: Peppol Id example: '0088:1234567890123' buyer_reference: type: string title: Buyer Reference example: BUYER-REF-001 created_at: type: string title: Created At format: date-time example: '2025-03-15T10:30:00.000Z' subsidiary: title: Subsidiary example: data: type: subsidiaries id: '42' company: title: Company example: data: type: companies id: '89' dir3_fiscal_code: type: string title: Dir3 Fiscal Code example: A01234567 dire_code: type: string title: Dire Code example: DIR3-EXAMPLE company_id: type: integer title: Company example: '89' updated_at: type: string title: Updated At format: date-time example: '2025-06-01T14:22:00.000Z' dir3_receptor_code: type: string title: Dir3 Receptor Code example: L01234567 subsidiary_id: type: integer title: Subsidiary example: '42' dir3_pagador_code: type: string title: Dir3 Pagador Code example: P00000010 is_government_entity: type: boolean title: Is Government Entity example: false example: id: '567' type: einvoice_identities attributes: peppol_id: '0088:1234567890123' buyer_reference: BUYER-REF-001 dir3_fiscal_code: dir3_pagador_code: dir3_receptor_code: dire_code: is_government_entity: false created_at: '2025-04-10T08:15:00.000Z' updated_at: '2025-04-10T08:15:00.000Z' relationships: company: data: type: companies id: '89' filter_service_type_assignment: type: object title: Filter service type assignment properties: service_type_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service_type_assignment/properties/service_type_id" contains: "$ref": "#/components/schemas/resource_service_type_assignment/properties/service_type_id" not_eq: "$ref": "#/components/schemas/resource_service_type_assignment/properties/service_type_id" eq: "$ref": "#/components/schemas/resource_service_type_assignment/properties/service_type_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_service_type_assignment/properties/service_type_id" description: Filter by the associated service type. example: - 123 id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service_type_assignment/properties/id" eq: "$ref": "#/components/schemas/resource_service_type_assignment/properties/id" contains: "$ref": "#/components/schemas/resource_service_type_assignment/properties/id" not_eq: "$ref": "#/components/schemas/resource_service_type_assignment/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_service_type_assignment/properties/id" description: Filter by service type assignment ID. example: - 123 person_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service_type_assignment/properties/person_id" contains: "$ref": "#/components/schemas/resource_service_type_assignment/properties/person_id" not_contain: "$ref": "#/components/schemas/resource_service_type_assignment/properties/person_id" eq: "$ref": "#/components/schemas/resource_service_type_assignment/properties/person_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_service_type_assignment/properties/person_id" description: Filter by the assigned person. example: - 123 patternProperties: {} description: Filter parameters for querying service type assignments. example: id: eq: '123' resource_entitlement: type: object title: Entitlement Resource properties: person: title: Person description: The person this entitlement applies to. example: eq: value person_id: type: integer title: Person description: The ID of the person this entitlement applies to. example: - 123 approval_workflow: title: Approval Workflow description: Whether an approval workflow is required for absence requests under this entitlement. example: eq: value event_id: type: integer title: Event description: The ID of the absence category (event) this entitlement covers. example: - 123 event: title: Event description: The absence category (event) this entitlement is for, such as vacation or sick leave. example: eq: value allocated: type: number title: Allocated description: Total hours allocated to this person for the absence category in the entitlement period. example: eq: value date: type: string title: Date format: date description: The reference date for this entitlement record (typically the start of the accrual period). example: gt: '2026-01-01' organization: title: Organization description: The organization this entitlement belongs to. example: eq: value note: type: string title: Note description: Optional note providing additional context for this entitlement allocation. example: eq: value start_date: type: string title: Start Date format: date description: The date when this entitlement period starts. example: gt: '2026-01-01' end_date: type: string title: End Date format: date description: The date when this entitlement period ends. After this date, unused hours may expire. example: gt: '2026-01-01' used: type: number title: Used description: Hours already used — approved absence bookings that have been taken within the entitlement period. example: eq: value id: type: integer title: Id description: The unique identifier of this entitlement record. example: - 123 pending: type: number title: Pending description: Hours pending approval — absence bookings submitted but not yet approved. example: eq: value description: A time-off entitlement for a person showing allocated, used, and pending hours for an absence category. example: id: '40728' type: entitlements attributes: start_date: '2023-02-17' end_date: '2023-12-31' allocated: '7.0' used: '0.0' pending: '0.0' note: relationships: organization: data: type: organizations id: '109' event: meta: included: false person: meta: included: false approval_workflow: meta: included: false _filter_root_exchange_rate: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_exchange_rate" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_exchange_rate" description: Filter schema for `exchange_rate` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_project_assignment: type: object title: Filter project assignment properties: id: oneOf: - "$ref": "#/components/schemas/resource_project_assignment/properties/id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_project_assignment/properties/id" not_eq: "$ref": "#/components/schemas/resource_project_assignment/properties/id" eq: "$ref": "#/components/schemas/resource_project_assignment/properties/id" not_contain: "$ref": "#/components/schemas/resource_project_assignment/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by project assignment ID. example: - 123 project_id: oneOf: - "$ref": "#/components/schemas/resource_project_assignment/properties/project_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_project_assignment/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_project_assignment/properties/project_id" eq: "$ref": "#/components/schemas/resource_project_assignment/properties/project_id" contains: "$ref": "#/components/schemas/resource_project_assignment/properties/project_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated project. example: - 123 person_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_project_assignment/properties/person_id" not_contain: "$ref": "#/components/schemas/resource_project_assignment/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_project_assignment/properties/person_id" eq: "$ref": "#/components/schemas/resource_project_assignment/properties/person_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_project_assignment/properties/person_id" description: Filter by specific person. example: - 123 patternProperties: {} description: Filters project assignments by person or project. example: id: eq: '123' filter_event: type: object title: Filter event properties: absence_type: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_event/properties/absence_type" eq: "$ref": "#/components/schemas/resource_event/properties/absence_type" contains: "$ref": "#/components/schemas/resource_event/properties/absence_type" not_contain: "$ref": "#/components/schemas/resource_event/properties/absence_type" description: Filter using explicit operator syntax. example: eq: active - "$ref": "#/components/schemas/resource_event/properties/absence_type" description: Filter by absence type (e.g. vacation, sick leave). example: eq: active limitation_type: oneOf: - "$ref": "#/components/schemas/resource_event/properties/limitation_type" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_event/properties/limitation_type" not_eq: "$ref": "#/components/schemas/resource_event/properties/limitation_type" eq: "$ref": "#/components/schemas/resource_event/properties/limitation_type" not_contain: "$ref": "#/components/schemas/resource_event/properties/limitation_type" description: Filter using explicit operator syntax. example: eq: active description: Filter by the limitation type applied to entitlement accrual. example: eq: active status: oneOf: - "$ref": "#/components/schemas/resource_event/properties/status" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_event/properties/status" not_eq: "$ref": "#/components/schemas/resource_event/properties/status" contains: "$ref": "#/components/schemas/resource_event/properties/status" eq: "$ref": "#/components/schemas/resource_event/properties/status" description: Filter using explicit operator syntax. example: eq: active description: Filter by active/archived status. example: eq: active half_day_bookings: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_event/properties/half_day_bookings" not_contain: "$ref": "#/components/schemas/resource_event/properties/half_day_bookings" contains: "$ref": "#/components/schemas/resource_event/properties/half_day_bookings" eq: "$ref": "#/components/schemas/resource_event/properties/half_day_bookings" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_event/properties/half_day_bookings" description: Filter by whether the event type allows half-day bookings. example: eq: value id: oneOf: - "$ref": "#/components/schemas/resource_event/properties/id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_event/properties/id" contains: "$ref": "#/components/schemas/resource_event/properties/id" eq: "$ref": "#/components/schemas/resource_event/properties/id" not_eq: "$ref": "#/components/schemas/resource_event/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by event type ID. example: - 123 sync_personal_integrations: oneOf: - "$ref": "#/components/schemas/resource_event/properties/sync_personal_integrations" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_event/properties/sync_personal_integrations" eq: "$ref": "#/components/schemas/resource_event/properties/sync_personal_integrations" not_contain: "$ref": "#/components/schemas/resource_event/properties/sync_personal_integrations" contains: "$ref": "#/components/schemas/resource_event/properties/sync_personal_integrations" description: Filter using explicit operator syntax. example: eq: value description: Filter by whether the event type syncs with personal calendar integrations. example: eq: value limited: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_event/properties/limited" contains: "$ref": "#/components/schemas/resource_event/properties/limited" not_eq: "$ref": "#/components/schemas/resource_event/properties/limited" not_contain: "$ref": "#/components/schemas/resource_event/properties/limited" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_event/properties/limited" description: Filter by whether the event type has an entitlement limit (true) or is unlimited (false). example: eq: value name: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_event/properties/name" contains: "$ref": "#/components/schemas/resource_event/properties/name" eq: "$ref": "#/components/schemas/resource_event/properties/name" not_eq: "$ref": "#/components/schemas/resource_event/properties/name" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_event/properties/name" description: Filter by the name of the absence category (event). example: eq: value patternProperties: "^bookings..*$": title: Bookings relationship description: Filter parameters for absence event types (time-off categories). example: id: eq: '123' resource_notification: type: object title: Notification Resource properties: changeset: title: Changeset description: A summary of the field changes that triggered this notification. example: eq: value last_action_at: type: string title: Last Action At format: date-time description: Timestamp of the most recent activity that updated this notification. example: gt: '2026-01-01' target_id: type: integer title: Target description: The ID of the target resource this notification is about. example: - 123 read: type: boolean title: Read description: When true, the current user has read this notification. example: eq: value date_after: type: string title: Date After format: date description: The end of the date range for filtering notification activity. example: eq: value parent_title: title: Parent Title description: The display name of the parent resource containing the notification target. example: eq: value project_id: type: integer title: Project description: The ID of the project associated with the notification target. example: - 123 important: type: boolean title: Important description: When true, this notification is marked as important and shown prominently in the inbox. example: eq: value new_activities_count: title: New Activities Count description: The number of new activity events since the notification was last read. example: gt: 0 id: type: integer title: Id description: Unique identifier for the notification. example: - 123 target_type: type: string title: Target Type description: The type of the target resource this notification is about (e.g. task, deal, project). example: eq: active mention: type: boolean title: Mention description: When true, the current user was directly mentioned in the content that triggered this notification. example: eq: value type: type: string title: Type description: Filters notifications by the target resource type (e.g. task, deal, project, page, invoice). example: eq: active after: type: string title: After format: date-time description: The value of the changed field after the action that triggered this notification. example: eq: value actor: title: Actor description: The person who performed the action that triggered this notification. example: eq: value parent_type: title: Parent Type description: The type of the parent resource containing the notification target. example: eq: active parent_id: type: integer title: Parent description: The ID of the parent resource containing the notification target (e.g. project ID for a task). example: - 123 title: title: Title description: The localized title text describing what happened in this notification. example: eq: value organization: title: Organization description: The organization this notification belongs to. example: eq: value date_before: type: string title: Date Before format: date description: The start of the date range for filtering notification activity. example: eq: value target_title: title: Target Title description: The display name of the target resource this notification is about. example: eq: value owner: title: Owner description: The organization membership (inbox) that owns this notification. example: eq: value excerpt: title: Excerpt description: A short preview of the content that triggered this notification. example: eq: value root_id: type: integer title: Root description: The ID of the root resource this notification traces back to (e.g. for shared report membership). example: - 123 dismissed: type: boolean title: Dismissed description: When true, this notification has been dismissed by the user. example: eq: value before: type: string title: Before format: date-time description: The value of the changed field before the action that triggered this notification. example: eq: value target_label: title: Target Label description: A human-readable label for the notification target type (e.g. 'budget' for production pipeline deals). example: eq: value first_unread_activity_id: type: integer title: First Unread Activity description: ID of the first unread activity in this notification thread. example: - 123 root_type: title: Root Type description: The type of the root resource this notification traces back to. example: eq: active made_by_automation: title: Made By Automation description: When true, this notification was triggered by an automation rule rather than a person. example: eq: value description: An inbox notification for a user about changes to subscribed entities. example: id: '123' type: notifications attributes: message: You have been assigned to a task read: false created_at: '2026-01-15T10:00:00Z' relationships: {} resource_budget_report: type: object title: Budget report Resource properties: won_at: type: string title: Won At format: date description: Timestamp when the deal/budget was won. example: gt: '2026-01-01' template: type: string title: Template description: Indicates whether this budget was created from a template. example: eq: value forecasted_billable_time: type: integer title: Forecasted Billable Time description: 'Forecasted billable time: current billable time plus future scheduled time.' example: gt: 0 total_expense_billable_normalized: title: Total Expense Billable Normalized description: Sum of billable expense amounts in the normalized currency across all budgets in this report group. example: eq: value total_revenue_normalized: title: Total Revenue Normalized description: Sum of revenue amounts in the normalized currency across all budgets in this report group. example: eq: value year: type: string title: Year description: Year grouping label for this report row (e.g. 2026). example: eq: value total_forecasted_budget_overrun_default: title: Total Forecasted Budget Overrun Default description: Sum of forecasted budget overrun amounts in the organization's default currency across all budgets in this report group. example: gt: 0 parent_company_id: type: integer title: Parent Company description: ID of the parent company of the client company linked to this budget, used for hierarchical company filtering. example: - 123 total_work_cost_default: title: Total Work Cost Default description: Sum of labor costs in the organization's default currency across all budgets in this report group. example: eq: value total_forecasted_budget_used_normalized: title: Total Forecasted Budget Used Normalized description: Sum of forecasted budget used amounts in the normalized currency across all budgets in this report group. example: gt: 0 responsible_id: type: integer title: Responsible description: ID of the person responsible for managing this budget. example: - 123 total_draft_invoiced_default: title: Total Draft Invoiced Default description: Sum of draft invoiced amounts in the organization's default currency across all budgets in this report group. example: eq: value full_query: type: string title: Full Query description: Full API query object used to generate this report row, including all applied filters and groupings. example: eq: value invoiced_percentage: type: integer title: Invoiced Percentage description: Percentage of the budget total that has been invoiced. example: eq: value closed_at: type: string title: Closed At format: date description: Timestamp when this budget was closed. example: gt: '2026-01-01' total_manually_invoiced_default: title: Total Manually Invoiced Default description: Sum of manually invoiced amounts in the organization's default currency across all budgets in this report group. example: eq: value projected_revenue: title: Projected Revenue description: Projected revenue based on current data and forecasts. example: eq: value forecasted_time_usage: type: number title: Forecasted Time Usage description: Forecasted time usage as a percentage of estimated time. example: gt: 0 budget: title: Budget description: Reference to the deal/budget associated with this report row. example: gt: 0 total_budget_total: title: Total Budget Total description: Sum of total approved budget amounts across all budgets in this report group. example: gt: 0 work_cost: title: Work Cost description: Labor cost on services (salaries and overhead) for this budget. example: eq: value total_estimated_cost: title: Total Estimated Cost description: Sum of estimated costs across all budgets in this report group. example: gt: 0 budgeted_time: type: integer title: Budgeted Time description: Total time budgeted on this budget, in minutes. example: gt: 0 status_id: type: integer title: Status description: ID of the current budget status. example: - 123 origin_deal_report: title: Origin Deal Report description: Related deal report data for the origin deal of this budget. example: eq: value average_invoiced_percentage_default: type: number title: Average Invoiced Percentage Default description: Average invoiced percentage in the organization's default currency context. example: eq: value total_services_revenue: title: Total Services Revenue description: Sum of services revenue (excluding billable expenses) across all budgets in this report group. example: eq: value total_revenue: title: Total Revenue description: Sum of revenue amounts across all budgets in this report group. example: eq: value total_estimated_cost_default: title: Total Estimated Cost Default description: Sum of estimated costs in the organization's default currency across all budgets in this report group. example: gt: 0 total_manually_invoiced_normalized: title: Total Manually Invoiced Normalized description: Sum of manually invoiced amounts in the normalized currency across all budgets in this report group. example: eq: value company: title: Company description: The client company associated with this budget. example: eq: value profit_margin: type: number title: Profit Margin description: 'Profit margin as a percentage: profit divided by revenue.' example: eq: value total_future_budget_used_normalized: title: Total Future Budget Used Normalized description: Sum of future budget used amounts in the normalized currency across all budgets in this report group. example: gt: 0 project_id: type: integer title: Project description: ID of the project this budget is associated with. example: - 123 manual_invoicing_status: type: boolean title: Manual Invoicing Status description: Indicates whether the budget has been manually marked as invoiced. example: eq: active project: title: Project description: The project this budget is associated with. example: eq: value invoiced: title: Invoiced description: Amount of money invoiced to the client from this budget. example: eq: value average_actual_rate_normalized: title: Average Actual Rate Normalized description: Average actual rate normalized to the organization's base currency. example: gt: 0 total_worked_time: type: number title: Total Worked Time description: Sum of worked hours across all budgets in this report group. example: gt: 0 owner_report: title: Owner Report description: Related person report data for the budget owner. example: eq: value budget_number: title: Budget Number description: Sequential number of the associated budget within the organization. example: gt: 0 average_invoiced_rate_normalized: title: Average Invoiced Rate Normalized description: Average invoiced rate normalized to the organization's base currency. example: gt: 0 budget_delivered_on: title: Budget Delivered On description: Date the associated budget was delivered. example: gt: 0 total_profit_default: title: Total Profit Default description: Sum of profit amounts in the organization's default currency across all budgets in this report group. example: eq: value recurring_starts_on_period: title: Recurring Starts On Period description: Time period grouping for the recurring start date (e.g. week, month, quarter). example: eq: value won_date: type: string title: Won Date format: date description: Date when the deal/budget was won. example: gt: '2026-01-01' total_budget_used_normalized: title: Total Budget Used Normalized description: Sum of budget used amounts in the normalized currency across all budgets in this report group. example: gt: 0 type: enum: - 1 - 2 type: integer title: Type description: Resource type identifier for this report row (always budget_report). example: eq: active average_budget_usage: type: number title: Average Budget Usage description: Average budget usage percentage across grouped budgets. example: gt: 0 time_approval: type: boolean title: Time Approval description: Indicates whether time entries on this budget require approval. example: gt: 0 lost_date: type: string title: Lost Date format: date description: Date when the deal/budget was marked as lost. example: gt: '2026-01-01' total_credited_normalized: title: Total Credited Normalized description: Sum of credited amounts in the normalized currency across all budgets in this report group. example: eq: value total_forecasted_cost: title: Total Forecasted Cost description: Sum of forecasted costs across all budgets in this report group. example: eq: value average_forecasted_budget_usage: type: number title: Average Forecasted Budget Usage description: Average forecasted budget usage percentage across grouped budgets. example: gt: 0 total_cost: title: Total Cost description: Sum of total costs (service and expense) across all budgets in this report group. example: eq: value total_profit: title: Total Profit description: Sum of profit amounts across all budgets in this report group. example: eq: value closed_at_period: title: Closed At Period description: Time period grouping for the closed_at date (e.g. week, month, quarter). example: gt: '2026-01-01' total_forecasted_cost_normalized: title: Total Forecasted Cost Normalized description: Sum of forecasted costs in the normalized currency across all budgets in this report group. example: eq: value total_invoiced: title: Total Invoiced description: Sum of invoiced amounts across all budgets in this report group. example: eq: value total_future_cost_normalized: title: Total Future Cost Normalized description: Sum of future cost amounts in the normalized currency across all budgets in this report group. example: eq: value budget_custom_fields: title: Budget Custom Fields description: Custom field values on the associated budget. example: gt: 0 created_at_period: title: Created At Period description: Time period grouping for the created_at date (e.g. week, month, quarter). example: gt: '2026-01-01' estimated_time: type: integer title: Estimated Time description: Estimated hours needed to complete all work in this budget's scope. example: gt: 0 budget_last_activity_at: title: Budget Last Activity At description: Timestamp of the most recent activity on the budget associated with this report row. example: gt: '2026-01-01' total_pending_invoicing: title: Total Pending Invoicing description: Sum of pending invoicing amounts across all budgets in this report group. example: eq: value deal_status: title: Deal Status description: The deal/pipeline status label associated with this budget. example: eq: active project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type label (e.g. Internal or Client). example: eq: active lost_reason_id: type: integer title: Lost Reason description: ID of the reason why the deal/budget was lost. example: - 123 average_forecasted_time_usage: type: number title: Average Forecasted Time Usage description: Average forecasted time usage percentage across grouped budgets. example: gt: 0 deal_type_id: type: integer title: Deal Type description: ID of the budget type (Client or Internal). example: - 123 total_budget_remaining_default: title: Total Budget Remaining Default description: Sum of remaining budget amounts in the organization's default currency across all budgets in this report group. example: gt: 0 end_date_period: title: End Date Period description: Time period grouping for the budget end date (e.g. week, month, quarter). example: gt: '2026-01-01' budget_total: title: Budget Total description: Total budget amount set on the budget. example: gt: 0 sales_closed_at: type: string title: Sales Closed At format: date description: Timestamp when the deal/budget was closed (won). example: gt: '2026-01-01' total_future_cost: title: Total Future Cost description: Sum of future cost amounts across all budgets in this report group. example: eq: value days_since_last_activity: type: integer title: Days Since Last Activity description: Number of days since the last activity was recorded on the deal. example: eq: value tags: type: string title: Tags description: Tags applied to this budget. example: eq: value needs_closing: type: boolean title: Needs Closing description: Indicates whether the budget requires closing action. example: eq: value forecasted_revenue: title: Forecasted Revenue description: Forecasted revenue amount. example: eq: value last_activity_at_period: title: Last Activity At Period description: Time period grouping for last activity date (e.g. week, month, quarter). example: gt: '2026-01-01' future_booked_time: type: integer title: Future Booked Time description: Number of hours scheduled on this budget in the future (from resourcing). example: gt: 0 total_future_budget_used_default: title: Total Future Budget Used Default description: Sum of future budget used amounts in the organization's default currency across all budgets in this report group. example: gt: 0 total_future_budget_used: title: Total Future Budget Used description: Sum of future budget used amounts across all budgets in this report group. example: gt: 0 total_budget_remaining: title: Total Budget Remaining description: Sum of remaining budget amounts across all budgets in this report group (budget total minus budget used). example: gt: 0 contract: title: Contract description: The recurring contract that generated this budget. example: eq: value number: type: string title: Number description: Unique number identifying this budget. example: eq: value unapproved_time: type: integer title: Unapproved Time description: Number of hours awaiting approval for this budget. example: gt: 0 deal_type: type: integer title: Deal Type description: Budget type label — either Client or Internal. example: eq: active average_forecasted_budget_usage_default: type: number title: Average Forecasted Budget Usage Default description: Average forecasted budget usage percentage in the organization's default currency context. example: gt: 0 budget_used: title: Budget Used description: Amount of budget consumed so far. example: gt: 0 budget_usage: type: number title: Budget Usage description: Budget usage percentage (budget used divided by budget total). example: gt: 0 formulas: type: integer title: Formulas description: Custom formula definitions applied to this report row. example: eq: value budget_suffix: title: Budget Suffix description: Suffix appended to the budget name for display purposes. example: gt: 0 formula_fields: title: Formula Fields description: Computed values for custom formula fields defined on the report. example: eq: value sales_closed_on: type: string title: Sales Closed On format: date description: Date when the deal/budget was closed (won). example: eq: value id: type: integer title: Id description: Unique identifier for this budget report row. example: - 123 recurring: type: integer title: Recurring description: Indicates whether this budget automatically recurs on a schedule. example: eq: value total_estimated_time: type: number title: Total Estimated Time description: Sum of estimated hours across all budgets in this report group. example: gt: 0 budget_warning: type: integer title: Budget Warning description: Whether the budget has exceeded its warning threshold. example: gt: 0 estimated_cost: title: Estimated Cost description: Estimated cost for this budget. example: gt: 0 subsidiary: title: Subsidiary description: The subsidiary (legal entity) that this budget's revenue is attributed to. example: eq: value total_budget_total_normalized: title: Total Budget Total Normalized description: Sum of total approved budget amounts in the normalized currency across all budgets in this report group. example: gt: 0 budget_client_access: title: Budget Client Access description: Whether the budget is accessible to client users. example: gt: 0 average_actual_rate_default: title: Average Actual Rate Default description: Average actual rate in the organization's default currency. example: gt: 0 next_occurrence_on: type: string title: Next Occurrence On format: date description: Date when the next recurring occurrence of this budget will be generated. example: eq: value budget_time_approval: title: Budget Time Approval description: Whether time entry approval is enabled on the associated budget. example: gt: 0 days_in_current_stage: type: integer title: Days In Current Stage description: Number of days the deal has been in its current pipeline stage. example: eq: value credited: title: Credited description: Total credit amount applied to this budget. example: eq: value subscriber_id: type: integer title: Subscriber description: ID of the subscriber (person following this budget for notifications). example: - 123 previous_probability: type: integer title: Previous Probability description: Probability percentage of the deal before the last status change. example: eq: value jump_query: type: string title: Jump Query description: Condensed query object used for quick navigation to drill-down report views. example: eq: value total_cost_normalized: title: Total Cost Normalized description: Sum of total costs in the normalized currency across all budgets in this report group. example: eq: value pipeline_id: type: integer title: Pipeline description: ID of the pipeline this budget belongs to. example: - 123 needs_invoicing: type: boolean title: Needs Invoicing description: Indicates whether the budget has outstanding amounts pending invoicing. example: eq: value color_id: type: integer title: Color description: Color ID assigned to this budget for visual grouping in the UI. example: - 123 origin_deal: title: Origin Deal description: The original deal from which this budget was created. example: eq: value forecasted_margin: type: number title: Forecasted Margin description: Forecasted profit margin as a percentage. example: eq: value stage_status_id: enum: - 1 - 2 - 3 - 4 type: integer title: Stage Status description: ID of the current pipeline stage status. example: - 123 total_budget_remaining_normalized: title: Total Budget Remaining Normalized description: Sum of remaining budget amounts in the normalized currency across all budgets in this report group. example: gt: 0 invoiced_rate: title: Invoiced Rate description: Invoiced amount divided by worked hours (invoiced rate per hour). example: gt: 0 approval_policy_id: type: integer title: Approval Policy description: ID of the approval policy assigned to this budget for time entry approvals. example: - 123 total_forecasted_cost_default: title: Total Forecasted Cost Default description: Sum of forecasted costs in the organization's default currency across all budgets in this report group. example: eq: value total_work_cost_normalized: title: Total Work Cost Normalized description: Sum of labor costs in the normalized currency across all budgets in this report group. example: eq: value fuzzy_people: type: integer title: Fuzzy People description: Relative person references (e.g. current_user) used in people-based filters. example: eq: value query: type: string title: Query description: The query parameters applied when generating this report row. example: eq: value average_invoiced_percentage_normalized: title: Average Invoiced Percentage Normalized description: Average invoiced percentage normalized across currencies. example: eq: value billable_time: type: integer title: Billable Time description: Total billable time logged against this budget, in minutes. example: gt: 0 revenue: title: Revenue description: 'Total revenue amount for this budget: the amount to be invoiced in total.' example: eq: value origin_deal_id: type: integer title: Origin Deal description: ID of the original deal from which this budget was created. example: - 123 total_draft_invoiced: title: Total Draft Invoiced description: Sum of draft invoiced amounts across all budgets in this report group. example: eq: value budget_closed_at: title: Budget Closed At description: Timestamp when the associated budget was closed. example: gt: '2026-01-01' probability: type: integer title: Probability description: Probability percentage of winning or delivering this deal/budget. example: eq: value forecasted_budget_used: title: Forecasted Budget Used description: 'Forecasted total budget used: current budget used plus future budget used (from resourcing).' example: gt: 0 total_estimated_remaining_time: type: number title: Total Estimated Remaining Time description: Sum of estimated remaining hours across all budgets in this report group. example: gt: 0 average_invoiced_rate: title: Average Invoiced Rate description: Average effective invoiced rate across grouped budgets (invoiced divided by billable time). example: gt: 0 group: type: string title: Group description: The grouping dimension for this report row (e.g. the company, project, or person being grouped by). example: eq: value budget_date: title: Budget Date description: Report date for the associated budget row. example: gt: '2026-01-01' total_manually_invoiced: title: Total Manually Invoiced description: Sum of manually invoiced amounts across all budgets in this report group. example: eq: value budget_status: enum: - 1 - 2 type: integer title: Budget Status description: Current status of the budget (e.g. active, closed, lost). example: gt: 0 primary_contact: title: Primary Contact description: The primary contact person for the company linked to this budget. example: eq: value recurring_interval: title: Recurring Interval description: How often this budget recurs (e.g. weekly, monthly). example: eq: value company_report: title: Company Report description: Reference to the company report for the company associated with this budget. example: eq: value total_invoiced_normalized: title: Total Invoiced Normalized description: Sum of invoiced amounts in the normalized currency across all budgets in this report group. example: eq: value end_date: type: string title: End Date format: date description: The planned end date of the budget. example: gt: '2026-01-01' recurring_ends_on_period: title: Recurring Ends On Period description: Time period grouping for the recurring end date (e.g. week, month, quarter). example: eq: value budget_purchase_order_number: title: Budget Purchase Order Number description: Purchase order number associated with the budget. example: PO-2024-017 total_expense_default: title: Total Expense Default description: Sum of expense costs in the organization's default currency across all budgets in this report group. example: eq: value expenses_billable: title: Expenses Billable description: Total billable expense amount charged to the client. example: eq: value purchase_order_number: type: string title: Purchase Order Number description: The Purchase Order number provided by the client for this budget. example: PO-2024-017 currency_normalized: title: Currency Normalized description: The normalized (common cross-organization) currency code. Financial values with the suffix are converted to this currency for cross-currency comparisons. example: eq: value future_cost: title: Future Cost description: Total future cost including service and expense costs, calculated from resourcing data. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Relative date range expressions (e.g. this_month, last_quarter) used in date filters. example: gt: '2026-01-01' tracking_type_id: type: integer title: Tracking Type description: ID of the tracking type configured on this budget. example: - 123 total_budgeted_time: type: number title: Total Budgeted Time description: Sum of budgeted (estimated) hours across all budgets in this report group. example: gt: 0 total_forecasted_budget_overrun: title: Total Forecasted Budget Overrun description: Sum of forecasted budget overrun amounts across all budgets in this report group. example: gt: 0 average_invoiced_rate_default: title: Average Invoiced Rate Default description: Average invoiced rate in the organization's default currency. example: gt: 0 average_forecasted_budget_overrun_default: type: number title: Average Forecasted Budget Overrun Default description: Average forecasted budget overrun in the organization's default currency. example: gt: 0 manually_invoiced: enum: - 1 - 2 type: integer title: Manually Invoiced description: Amount manually marked as invoiced on this budget. example: eq: value stage_updated_at: type: string title: Stage Updated At format: date description: Timestamp when the pipeline stage was last updated. example: gt: '2026-01-01' previous_or_current_deal_status_id: type: integer title: Previous Or Current Deal Status description: ID of the previous or current deal status (used for pipeline stage tracking). example: - 123 total_forecasted_billable_time: type: number title: Total Forecasted Billable Time description: Sum of forecasted billable hours across all budgets in this report group. example: gt: 0 custom_fields: type: string title: Custom Fields description: Custom field values attached to the budget, keyed by custom field ID. example: eq: value forecasted_budget_usage: type: number title: Forecasted Budget Usage description: 'Forecasted budget usage as a percentage: forecasted budget used divided by budget total.' example: gt: 0 lost_at: type: string title: Lost At format: date description: Timestamp when the deal/budget was marked as lost. example: gt: '2026-01-01' organization: title: Organization description: The organization this budget belongs to. example: eq: value average_profit_margin_normalized: title: Average Profit Margin Normalized description: Average profit margin percentage normalized across currencies. example: eq: value actual_rate: title: Actual Rate description: The actual average hourly rate on this budget (revenue divided by billable time). example: gt: 0 total_future_booked_time: type: number title: Total Future Booked Time description: Sum of future scheduled hours across all budgets in this report group. example: gt: 0 total_budget_used_default: title: Total Budget Used Default description: Sum of budget used amounts in the organization's default currency across all budgets in this report group. example: gt: 0 week: type: string title: Week description: Week grouping label for this report row (e.g. Week 13, 2026). example: eq: value last_activity_at: type: string title: Last Activity At format: date description: Timestamp of the most recent activity on this budget. example: gt: '2026-01-01' created_at: type: string title: Created At format: date description: Timestamp when this budget was created. example: gt: '2026-01-01' total_billable_time: type: number title: Total Billable Time description: Sum of billable hours tracked across all budgets in this report group. example: gt: 0 designated_approver_id: type: integer title: Designated Approver description: ID of the person designated as the approver for this budget. example: - 123 quarter: type: string title: Quarter description: Quarter grouping label for this report row (e.g. Q1 2026). example: eq: value total_draft_invoiced_normalized: title: Total Draft Invoiced Normalized description: Sum of draft invoiced amounts in the normalized currency across all budgets in this report group. example: eq: value budget_remaining: title: Budget Remaining description: Remaining budget amount (budget total minus budget used). example: gt: 0 next_occurrence_on_period: title: Next Occurrence On Period description: Time period grouping for the next occurrence date (e.g. week, month, quarter). example: eq: value accessible_by_person: type: integer title: Accessible By Person description: Whether this budget is accessible by the querying person. example: eq: value forecasted_profit: title: Forecasted Profit description: Forecasted profit amount. example: eq: value days_since_created: type: integer title: Days Since Created description: Number of days since the deal was created. example: eq: value project_report: title: Project Report description: Related project report data for this budget. example: eq: value budget_warning_percentage: title: Budget Warning Percentage description: Warning threshold percentage for this budget. Budget usage exceeding this value triggers a warning. example: gt: 0 total_pending_invoicing_normalized: title: Total Pending Invoicing Normalized description: Sum of pending invoicing amounts in the normalized currency across all budgets in this report group. example: eq: value currency_default: title: Currency Default description: The organization's default currency code. Financial values with the suffix are converted to this currency. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: Current status of the budget (e.g. open, delivered). example: eq: active total_credited_default: title: Total Credited Default description: Sum of credited amounts in the organization's default currency across all budgets in this report group. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this budget's revenue is attributed to. example: - 123 estimated_remaining_time: type: integer title: Estimated Remaining Time description: Estimated hours remaining until the work is complete. example: gt: 0 contract_id: type: integer title: Contract description: ID of the contract that generated this budget. example: - 123 profit: title: Profit description: 'Profit after all costs: revenue minus service costs and expense costs.' example: eq: value total_revenue_default: title: Total Revenue Default description: Sum of revenue amounts in the organization's default currency across all budgets in this report group. example: eq: value total_credited: title: Total Credited description: Sum of credited amounts across all budgets in this report group. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created this budget. example: - 123 total_invoiced_default: title: Total Invoiced Default description: Sum of invoiced amounts in the organization's default currency across all budgets in this report group. example: eq: value recurring_interval_id: enum: - 3 - 2 - 1 - 6 - 5 - 4 type: integer title: Recurring Interval description: ID of the recurring interval type. example: - 123 delivered_on_period: title: Delivered On Period description: Time period grouping for the delivered-on date (e.g. week, month, quarter). example: eq: value total_expense_normalized: title: Total Expense Normalized description: Sum of expense costs in the normalized currency across all budgets in this report group. example: eq: value average_actual_rate: title: Average Actual Rate description: Average actual hourly rate across grouped budgets in the report row. example: gt: 0 total_expense_billable: title: Total Expense Billable description: Sum of billable expense amounts across all budgets in this report group. example: eq: value total_expense_billable_default: title: Total Expense Billable Default description: Sum of billable expense amounts in the organization's default currency across all budgets in this report group. example: eq: value deal_status_id: type: integer title: Deal Status description: ID of the deal status associated with this budget. example: - 123 average_forecasted_budget_overrun_normalized: title: Average Forecasted Budget Overrun Normalized description: Average forecasted budget overrun normalized to the organization's base currency. example: gt: 0 sales_status_id: enum: - 1 - 2 - 3 - 4 type: integer title: Sales Status description: ID of the sales status for this budget. example: - 123 primary_contact_report: title: Primary Contact Report description: Report object for the primary contact person of the company linked to this budget. example: eq: value total_future_cost_default: title: Total Future Cost Default description: Sum of future cost amounts in the organization's default currency across all budgets in this report group. example: eq: value previous_deal_status_id: type: integer title: Previous Deal Status description: ID of the previous deal status for this budget (used for tracking stage transitions). example: - 123 todo_due_date: type: string title: Todo Due Date format: date description: Due date for todo items associated with this budget. example: gt: '2026-01-01' count: type: integer title: Count description: Number of budgets aggregated in this report row (when grouped). example: gt: 0 average_budget_usage_normalized: title: Average Budget Usage Normalized description: Average budget usage percentage normalized across currencies. example: gt: 0 date_period: title: Date Period description: Time period grouping for the budget start date (e.g. week, month, quarter). example: eq: value month: type: string title: Month description: Month grouping label for this report row (e.g. March 2026). example: eq: value revenue_distribution_type: enum: - default - even - custom type: string title: Revenue Distribution Type description: Revenue recognition method used for this budget (e.g. time-based, milestone-based). example: eq: active average_forecasted_budget_usage_normalized: title: Average Forecasted Budget Usage Normalized description: Average forecasted budget usage percentage normalized across currencies. example: gt: 0 currency: type: string title: Currency description: The budget's currency code (e.g. USD, EUR). Used as the base currency for all non-normalized financial values in this report row. example: eq: value average_invoiced_percentage: type: number title: Average Invoiced Percentage description: Average invoiced percentage across grouped budgets. example: eq: value total_budget_used: title: Total Budget Used description: Sum of budget used amounts across all budgets in this report group. example: gt: 0 services_revenue: title: Services Revenue description: Revenue from services only, excluding revenue from billable expenses. example: eq: value cost: title: Cost description: Total labor cost from tracked time entries on this budget. example: eq: value total_budget_total_default: title: Total Budget Total Default description: Sum of total approved budget amounts in the organization's default currency across all budgets in this report group. example: gt: 0 total_estimated_cost_normalized: title: Total Estimated Cost Normalized description: Sum of estimated costs in the normalized currency across all budgets in this report group. example: gt: 0 average_forecasted_budget_overrun: type: number title: Average Forecasted Budget Overrun description: Average forecasted budget overrun amount across grouped budgets. example: gt: 0 total_cost_default: title: Total Cost Default description: Sum of total costs in the organization's default currency across all budgets in this report group. example: eq: value discount: type: number title: Discount description: Discount amount applied to the budget. example: gt: 0 budget_end_date: title: Budget End Date description: End date of the associated budget. example: gt: '2026-01-01' designated_approver: title: Designated Approver description: The person designated as the approver for this budget, as determined by the approval policy. example: eq: value total_forecasted_budget_used_default: title: Total Forecasted Budget Used Default description: Sum of forecasted budget used amounts in the organization's default currency across all budgets in this report group. example: gt: 0 name: type: string title: Name description: Name of the budget. example: eq: value recurring_ends_on: type: string title: Recurring Ends On format: date description: Date when the budget recurrence ends. example: eq: value average_budget_usage_default: type: number title: Average Budget Usage Default description: Average budget usage percentage in the organization's default currency context. example: gt: 0 total_unapproved_time: type: number title: Total Unapproved Time description: Sum of unapproved hours across all budgets in this report group. example: gt: 0 contact_id: type: integer title: Contact description: ID of the contact person associated with this budget. example: - 123 total_expense: title: Total Expense description: Sum of expense costs across all budgets in this report group. example: eq: value recurring_starts_on: type: string title: Recurring Starts On format: date description: Date when the budget recurrence starts. example: eq: value future_revenue: title: Future Revenue description: Projected future revenue based on resourcing data. example: eq: value budget_created_at: title: Budget Created At description: Timestamp when the associated budget was created. example: gt: '2026-01-01' total_services_revenue_normalized: title: Total Services Revenue Normalized description: Sum of services revenue in the normalized currency across all budgets in this report group. example: eq: value pipeline: title: Pipeline description: The sales pipeline this budget belongs to. example: eq: value total_work_cost: title: Total Work Cost description: Sum of labor costs (salaries and overheads) across all budgets in this report group. example: eq: value retainer_interval: enum: - week - two_weeks - month - quarter - half_year - year type: string title: Retainer Interval description: The billing interval of this retainer deal (e.g., monthly, quarterly). example: eq: value total_services_revenue_default: title: Total Services Revenue Default description: Sum of services revenue in the organization's default currency across all budgets in this report group. example: eq: value future_budget_used: title: Future Budget Used description: Total future budget used, calculated from resourcing data. example: gt: 0 date: type: string title: Date format: date description: Start date of the budget and the date for which revenue is reported. example: gt: '2026-01-01' average_profit_margin: type: number title: Average Profit Margin description: Average profit margin percentage across grouped budgets. example: eq: value report: title: Report description: Related budget report data for this group (self-referential for drill-down). example: eq: value total_forecasted_budget_overrun_normalized: title: Total Forecasted Budget Overrun Normalized description: Sum of forecasted budget overrun amounts in the normalized currency across all budgets in this report group. example: gt: 0 draft_invoiced: title: Draft Invoiced description: Total amount of invoices currently in draft status for this budget. example: eq: value total_forecasted_budget_used: title: Total Forecasted Budget Used description: Sum of forecasted budget used amounts across all budgets in this report group. example: gt: 0 expense: title: Expense description: Cost of out-of-pocket expenses on this budget. example: eq: value total_profit_normalized: title: Total Profit Normalized description: Sum of profit amounts in the normalized currency across all budgets in this report group. example: eq: value forecasted_cost: title: Forecasted Cost description: 'Forecasted cost: current cost plus future cost (including service and expense costs).' example: eq: value average_profit_margin_default: type: number title: Average Profit Margin Default description: Average profit margin percentage in the organization's default currency context. example: eq: value worked_time: type: integer title: Worked Time description: Total hours worked on this budget. example: gt: 0 pending_invoicing: title: Pending Invoicing description: Amount of money pending invoicing for this budget. example: eq: value responsible: title: Responsible description: The person responsible for managing this budget. example: eq: value delivered_on: type: string title: Delivered On format: date description: Date when the budget status was changed from Open to Delivered. example: eq: value total_pending_invoicing_default: title: Total Pending Invoicing Default description: Sum of pending invoicing amounts in the organization's default currency across all budgets in this report group. example: eq: value company_id: type: integer title: Company description: ID of the client company associated with this budget. example: - 123 description: An aggregated budget report row. Budget reports group deals/budgets by configurable dimensions and calculate financial totals, time metrics, and profitability. example: id: '123' type: budget_reports attributes: budget_used: 50000 budget_total: 100000 billable_time: 4800 nonbillable_time: 600 overhead_time: 240 project_id: 45 relationships: {} _filter_root_deal_cost_rate: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_deal_cost_rate" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_deal_cost_rate" description: Filter schema for `deal_cost_rate` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_organization: type: object title: Filter organization properties: {} patternProperties: {} description: Filter parameters for listing organization resources, which represent the tenant account in Productive. example: id: eq: '123' filter_search_quick: type: object title: Filter search quick result properties: type: "$ref": "#/components/schemas/resource_search_quick_result/properties/type" status: "$ref": "#/components/schemas/resource_search_quick_result/properties/status" deep_search: "$ref": "#/components/schemas/resource_search_quick_result/properties/deep_search" ai_search: "$ref": "#/components/schemas/resource_search_quick_result/properties/ai_search" query: "$ref": "#/components/schemas/resource_search_quick_result/properties/query" patternProperties: {} example: query: quick search type: task,project,person status: active deep_search: false ai_search: false _filter_root_new_time_report: oneOf: - "$ref": "#/components/schemas/filter_new_time_report" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_new_time_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `new_time_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_organization_membership: oneOf: - "$ref": "#/components/schemas/filter_organization_membership" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_organization_membership" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `organization_membership` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_budget_report: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_budget_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_budget_report" description: Filter schema for `budget_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_invoice_attribution: type: object title: Invoice attribution Resource properties: invoice_id: type: integer title: Invoice description: ID of the invoice this attribution belongs to. example: - 123 currency_default: title: Currency Default description: The organization's default currency for this invoice attribution. example: eq: value date_to: type: string title: Date To format: date description: Date on which the attributed period ends, or null if not specified. example: eq: value date_from: type: string title: Date From format: date description: Date from which the attributed period starts, or null if not specified. example: eq: value amount: type: integer title: Amount description: The attributed amount in the invoice's currency. example: gt: 0 currency_normalized: title: Currency Normalized description: The normalized (reporting) currency for this invoice attribution. example: eq: value budget: title: Budget description: The budget (deal) this invoice attribution is linked to. example: gt: 0 organization: title: Organization description: The organization this invoice attribution belongs to. example: eq: value currency: title: Currency description: The currency of this invoice attribution, inherited from the associated invoice. example: eq: value invoice: title: Invoice description: The invoice this attribution belongs to. example: eq: value budget_id: type: integer title: Budget description: ID of the budget (deal) this invoice attribution is linked to. example: - 123 amount_normalized: title: Amount Normalized description: The attributed amount converted to the normalized (reporting) currency. example: gt: 0 amount_default: title: Amount Default description: The attributed amount converted to the organization's default currency. example: gt: 0 description: An invoice attribution links a portion of an invoice amount to a specific budget (deal), tracking which budget a part of the invoice covers and optionally the date range it applies to. example: id: '678' type: invoice_attributions attributes: amount: '500.00' currency: USD attributed_at: '2026-03-10T12:00:00.000+00:00' relationships: invoice: data: type: invoices id: '234' service: data: type: services id: '1856422' filter_holiday_calendar: type: object title: Filter holiday calendar properties: id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_holiday_calendar/properties/id" contains: "$ref": "#/components/schemas/resource_holiday_calendar/properties/id" not_eq: "$ref": "#/components/schemas/resource_holiday_calendar/properties/id" eq: "$ref": "#/components/schemas/resource_holiday_calendar/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_holiday_calendar/properties/id" description: Filter by ID. example: - 123 patternProperties: {} description: Filter parameters for holiday calendars. example: id: eq: '123' filter_time_entry_report: type: object title: Filter time entry report properties: person_subsidiary_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/person_subsidiary_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_subsidiary_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_subsidiary_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the subsidiary associated with the person. example: - 123 internal_overhead_cost: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/internal_overhead_cost" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/internal_overhead_cost" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/internal_overhead_cost" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/internal_overhead_cost" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/internal_overhead_cost" description: Filter by internal overhead cost amount range. example: eq: value stage_type: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/stage_type" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/stage_type" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/stage_type" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/stage_type" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/stage_type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by stage type — whether the time entry belongs to a deal or a budget. example: eq: active status: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/status" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/status" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/status" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/status" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by the approval status of the time entry (approved, unapproved, or change requested). example: eq: active after: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/after" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/after" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/after" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/after" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/after" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by entries tracked after this date (inclusive). Shorthand for a date range start. example: eq: value track_method_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/track_method_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/track_method_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/track_method_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/track_method_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/track_method_id" description: Filter by the method used to track time (manual, timer, or mixed). example: - 123 assigned_approver_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/assigned_approver_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/assigned_approver_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/assigned_approver_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/assigned_approver_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/assigned_approver_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by a person assigned as an approver on the time entry. example: - 123 awaiting_approval_from_approver_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/awaiting_approval_from_approver_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/awaiting_approval_from_approver_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/awaiting_approval_from_approver_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/awaiting_approval_from_approver_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/awaiting_approval_from_approver_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by a person from whom approval is currently awaited. example: - 123 last_actor_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/last_actor_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/last_actor_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/last_actor_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/last_actor_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/last_actor_id" description: Filter by the last person who acted on the time entry. example: - 123 jira_worklog_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_worklog_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_worklog_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_worklog_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_worklog_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_worklog_id" description: Filter by Jira worklog ID. example: - 123 booking_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/booking_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/booking_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/booking_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/booking_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/booking_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated booking. example: - 123 before: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/before" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/before" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/before" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/before" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/before" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by entries tracked before this date (inclusive). Shorthand for a date range end. example: eq: value project_manager_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/project_manager_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_manager_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_manager_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_manager_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_manager_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the project manager of the associated project. example: - 123 deal_subsidiary_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/deal_subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/deal_subsidiary_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/deal_subsidiary_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/deal_subsidiary_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/deal_subsidiary_id" description: Filter by the subsidiary associated with the time entry's budget. example: - 123 people_custom_fields: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/people_custom_fields" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/people_custom_fields" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/people_custom_fields" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/people_custom_fields" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/people_custom_fields" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by custom field values assigned to people. example: eq: value jira_issue_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_id" description: Filter by Jira issue ID. example: - 123 project_type_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/project_type_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_type_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_type_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_type_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_type_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the project type (internal or client project). example: - 123 last_activity_at: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/last_activity_at" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/last_activity_at" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/last_activity_at" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/last_activity_at" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/last_activity_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by last activity date range (`last_activity_at`). example: gt: '2026-01-01' approval_policy_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/approval_policy_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/approval_policy_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/approval_policy_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/approval_policy_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/approval_policy_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the approval policy assigned to the time entry's budget. example: - 123 created_after: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_after" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_after" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_after" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_after" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/created_after" description: Filter to include entries created after this timestamp. example: eq: value billable_time: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/billable_time" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/billable_time" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/billable_time" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/billable_time" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/billable_time" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 description: Filter by billable time range (in minutes). example: gt: 0 invoiced: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoiced" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoiced" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoiced" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoiced" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/invoiced" description: Filter by invoiced status; when true, includes only invoiced time entries. example: eq: value started_before: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/started_before" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_before" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_before" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_before" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_before" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Return time entries with a start timestamp before this datetime. example: eq: value approved_at: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/approved_at" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/approved_at" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/approved_at" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/approved_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_time_entry_report/properties/approved_at" description: Filter by approval date range (`approved_at`). example: gt: '2026-01-01' task_list_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/task_list_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/task_list_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/task_list_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/task_list_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/task_list_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the task list of the associated task. example: - 123 id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by time entry ID. example: - 123 section_name: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/section_name" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/section_name" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/section_name" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/section_name" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/section_name" description: Filter by the name of the service section. example: eq: value parent_company_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/parent_company_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/parent_company_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/parent_company_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/parent_company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/parent_company_id" description: Filter time entries by the parent company of the associated client. example: - 123 created_before: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_before" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_before" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_before" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_before" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/created_before" description: Filter to include entries created before this timestamp. example: eq: value responsible_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/responsible_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/responsible_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/responsible_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/responsible_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/responsible_id" description: Filter by the ID of the budget owner (person responsible for approving time entries). example: - 123 invoicing_status: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoicing_status" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoicing_status" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoicing_status" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoicing_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_time_entry_report/properties/invoicing_status" description: Filter by invoicing status (not invoiced, drafted, or finalized). example: eq: active company_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/company_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/company_id" description: Filter by client company. example: - 123 role_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/role_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/role_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/role_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/role_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/role_id" description: Filter by the role of the associated person. example: - 123 time: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/time" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/time" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/time" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/time" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 - "$ref": "#/components/schemas/resource_time_entry_report/properties/time" description: Filter by total time worked (in seconds). example: gt: 0 started_after: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/started_after" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_after" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_after" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_after" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_after" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Return time entries with a start timestamp after this datetime. example: eq: value query: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/query" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/query" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/query" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/query" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/query" description: Full-text search across time entry fields such as note, person, project, and service. example: eq: value base_cost: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/base_cost" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/base_cost" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/base_cost" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/base_cost" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/base_cost" description: Filter by base cost amount range (cost before overhead). example: eq: value started_at: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_at" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_at" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_at" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/started_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_time_entry_report/properties/started_at" description: Filter by timer start datetime range (`started_at`). example: gt: '2026-01-01' intercompany_hours: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/intercompany_hours" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/intercompany_hours" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/intercompany_hours" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/intercompany_hours" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/intercompany_hours" description: Filter by whether the time was tracked on a budget owned by another subsidiary (intercompany). example: eq: value jira_issue_status: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_status" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_status" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_status" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_status" description: Filter by Jira issue status. example: eq: active cost: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/cost" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/cost" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/cost" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/cost" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/cost" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by the total cost of the time entry (work cost plus overhead). example: eq: value updated_at: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/updated_at" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/updated_at" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/updated_at" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/updated_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_time_entry_report/properties/updated_at" description: Filter by last update date range (`updated_at`). example: gt: '2026-01-01' created_at: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/created_at" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_at" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/created_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by creation date range (`created_at`). example: gt: '2026-01-01' budget_type_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/budget_type_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/budget_type_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/budget_type_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/budget_type_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/budget_type_id" description: Filter by the type of budget the time was tracked on (e.g. fixed price, time and materials). example: - 123 autotracked: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/autotracked" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/autotracked" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/autotracked" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/autotracked" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/autotracked" description: Filter by whether the time entry was captured automatically (e.g. via timer or integration). example: eq: value deal_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/deal_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/deal_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/deal_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/deal_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/deal_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated budget or deal. example: - 123 person_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/person_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated person. example: - 123 service_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/service_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/service_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/service_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/service_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/service_id" description: Filter by the associated service. example: - 123 ended_at: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/ended_at" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/ended_at" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/ended_at" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/ended_at" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/ended_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by timer end datetime range (`ended_at`). example: gt: '2026-01-01' formulas: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/formulas" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/formulas" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/formulas" description: Filter by calculated formula field values. example: eq: value billing_type_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/billing_type_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/billing_type_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/billing_type_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/billing_type_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/billing_type_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the billing type of the service. example: - 123 facility_overhead_cost: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/facility_overhead_cost" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/facility_overhead_cost" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/facility_overhead_cost" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/facility_overhead_cost" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/facility_overhead_cost" description: Filter by facility overhead cost amount range. example: eq: value creator_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/creator_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/creator_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/creator_id" description: Filter by the person who created the time entry. example: - 123 date: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/date" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/date" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/date" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/date" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/date" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by time entry date range (`date`). example: gt: '2026-01-01' note: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/note" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/note" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/note" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/note" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/note" description: Filter by the note text on the time entry. example: eq: value invoice_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/invoice_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoice_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoice_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoice_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoice_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated invoice. example: - 123 jira_issue_summary: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_summary" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_summary" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_summary" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_summary" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/jira_issue_summary" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by Jira issue summary text. example: eq: value invoice_attribution_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoice_attribution_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoice_attribution_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoice_attribution_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/invoice_attribution_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/invoice_attribution_id" description: Filter by the associated invoice attribution. example: - 123 unit_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/unit_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/unit_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/unit_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/unit_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/unit_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the unit of measure (hours, days, or pieces) of the service. example: - 123 service_type_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/service_type_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/service_type_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/service_type_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/service_type_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/service_type_id" description: Filter by the service type of the associated service. example: - 123 billable: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/billable" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/billable" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/billable" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/billable" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/billable" description: Operator object — supports eq, not_eq, contains, not_contain. example: true description: Filter by billable status; when true, includes only time entries on billable services. example: true overhead: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/overhead" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/overhead" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/overhead" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/overhead" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/overhead" description: Filter by overhead status; when true, includes only overhead time entries. example: eq: value budget_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/budget_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/budget_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/budget_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/budget_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/budget_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the budget (deal) the time was tracked on. example: - 123 project_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/project_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/project_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated project. example: - 123 approver_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/approver_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/approver_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/approver_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/approver_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_time_entry_report/properties/approver_id" description: Filter by the person who approved the time entry. example: - 123 overhead_cost: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/overhead_cost" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/overhead_cost" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/overhead_cost" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/overhead_cost" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/overhead_cost" description: Filter by total overhead cost amount range (internal plus facility). example: eq: value person_tags: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_tags" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_tags" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_tags" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/person_tags" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_time_entry_report/properties/person_tags" description: Filter by tags assigned to the associated person. example: eq: value designated_approver_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/designated_approver_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/designated_approver_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/designated_approver_id" not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/designated_approver_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/designated_approver_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter time entries by the person designated as the approver. example: - 123 task_id: oneOf: - "$ref": "#/components/schemas/resource_time_entry_report/properties/task_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/task_id" eq: "$ref": "#/components/schemas/resource_time_entry_report/properties/task_id" not_contain: "$ref": "#/components/schemas/resource_time_entry_report/properties/task_id" contains: "$ref": "#/components/schemas/resource_time_entry_report/properties/task_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated task. example: - 123 patternProperties: "^task..*$": title: Task relationship "^person..*$": title: Person relationship "^creator..*$": title: Creator relationship "^service..*$": title: Service relationship "^approver..*$": title: Approver relationship "^last_actor..*$": title: Last actor relationship description: Available filter parameters for querying aggregated time entry report data. example: id: eq: '123' resource_bill: type: object title: Bill Resource properties: deleted_at: type: string title: Deleted At format: date-time description: Timestamp when the bill was deleted, or null if active. example: gt: '2026-01-01' deal: title: Deal description: The budget (deal) this bill is associated with. example: eq: value date: type: string title: Date format: date description: The date the bill was issued. example: gt: '2026-01-01' currency: title: Currency description: The currency of the bill amounts. example: eq: value id: type: integer title: Id description: Unique identifier for the bill. example: - 123 total_cost_normalized: title: Total Cost Normalized description: The total cost of this bill expressed in the normalized (common reporting) currency. example: eq: value purchase_order_id: type: integer title: Purchase Order description: The ID of the purchase order this bill is received against. example: 1234567 total_received: title: Total Received description: The total amount received or recognized from the vendor in the bill's currency. example: eq: value organization: title: Organization description: The organization this bill belongs to. example: eq: value invoice_number: type: string title: Invoice Number description: The vendor's invoice number or reference code for this bill. example: eq: value total_received_default: title: Total Received Default description: The total amount received expressed in the organization's default currency. example: eq: value currency_normalized: title: Currency Normalized description: The currency used for amounts expressed in the normalized (common reporting) currency. example: eq: value due_date: type: string title: Due Date format: date description: The payment due date for this bill. example: gt: '2026-01-01' total_cost: title: Total Cost description: The total cost of goods or services received in this bill, in the bill's currency. example: eq: value attachment: title: Attachment description: The attachment (receipt or document) associated with this bill. example: eq: value creator: title: Creator description: The person who created this bill. example: eq: value attachment_id: type: integer title: Attachment description: The ID of the attachment associated with this bill. example: - 123 total_cost_default: title: Total Cost Default description: The total cost of this bill expressed in the organization's default currency. example: eq: value purchase_order: title: Purchase Order description: The purchase order this bill is received against. example: data: type: purchase_orders id: '1234567' created_at: type: string title: Created At format: date-time description: Timestamp when the bill was created. example: gt: '2026-01-01' total_received_normalized: title: Total Received Normalized description: The total amount received expressed in the normalized (common reporting) currency. example: eq: value currency_default: title: Currency Default description: The currency used for amounts expressed in the organization's default currency. example: eq: value description: Receipt record against a purchase order. Tracks the vendor invoice number, date, due date, description, and total amounts received and cost. Links to a deal and has an optional attachment for the vendor invoice document. example: id: '34' type: bills attributes: name: Software Subscription amount: '299.00' currency: USD date: '2026-03-01' status: pending created_at: '2026-03-01T09:00:00.000+00:00' relationships: company: data: type: companies id: '65111' filter_time_tracking_policy: type: object title: Filter time tracking policy properties: id: oneOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/id" contains: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/id" not_eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/id" eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by time tracking policy ID. example: - 123 name: oneOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" contains: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" not_contain: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/name" description: Filter using explicit operator syntax. example: eq: value description: Filter by policy name. example: eq: value status: oneOf: - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/status" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/status" not_eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/status" eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/status" not_contain: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter time tracking policies by archival status; active (1) or archived (2). example: eq: active person_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/person_id" eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/person_id" contains: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_time_tracking_policy/properties/person_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_time_tracking_policy/properties/person_id" description: Filter by the people assigned to the policy. example: - 123 patternProperties: {} description: Filter parameters for listing time tracking policy resources, which define rules governing how time entries are tracked for people. example: id: eq: '123' resource_discussion: type: object title: Discussion Resource properties: created_at: title: Created At description: Timestamp when this discussion was created. example: gt: '2026-01-01' updated_at: title: Updated At description: Timestamp when this discussion was last updated. example: gt: '2026-01-01' page: title: Page description: The page this discussion is attached to. example: eq: value organization: title: Organization description: The organization this discussion belongs to. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: The status of this discussion, either active (1) or resolved (2). example: eq: active resolved_at: type: string title: Resolved At format: date-time description: Timestamp when this discussion was marked as resolved, or null if it is still active. example: gt: '2026-01-01' id: type: integer title: Id description: The unique identifier of this discussion. example: - 123 excerpt: type: string title: Excerpt description: A short text preview of the first comment or content in this discussion. example: eq: value subscriber_ids: title: Subscriber Ids description: An array of IDs of people who are subscribed to notifications for this discussion. example: - 123 - 456 page_id: type: integer title: Page description: ID of the page this discussion is attached to. example: - 123 description: A threaded discussion attached to a page, task, or other resource, allowing team members to comment and resolve topics. example: id: '78' type: discussions attributes: title: API Design Review note: Let's discuss the new API endpoint design for the authentication module created_at: '2026-02-01T10:00:00.000+00:00' updated_at: '2026-03-01T09:00:00.000+00:00' last_activity_at: '2026-03-01T09:00:00.000+00:00' relationships: project: data: type: projects id: '6899' author: data: type: people id: '12' filter_report_category: type: object title: Filter report category properties: {} patternProperties: {} description: Available filter parameters for querying report category records. example: id: eq: '123' filter_email: type: object title: Filter email properties: sender_or_recipient_id: oneOf: - "$ref": "#/components/schemas/resource_email/properties/sender_or_recipient_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_email/properties/sender_or_recipient_id" not_contain: "$ref": "#/components/schemas/resource_email/properties/sender_or_recipient_id" eq: "$ref": "#/components/schemas/resource_email/properties/sender_or_recipient_id" not_eq: "$ref": "#/components/schemas/resource_email/properties/sender_or_recipient_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by emails where the given person is the sender or a recipient. example: - 123 recipient_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_email/properties/recipient_id" not_eq: "$ref": "#/components/schemas/resource_email/properties/recipient_id" not_contain: "$ref": "#/components/schemas/resource_email/properties/recipient_id" eq: "$ref": "#/components/schemas/resource_email/properties/recipient_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_email/properties/recipient_id" description: Filter by a recipient person. example: - 123 creator_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_email/properties/creator_id" eq: "$ref": "#/components/schemas/resource_email/properties/creator_id" contains: "$ref": "#/components/schemas/resource_email/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_email/properties/creator_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_email/properties/creator_id" description: Filter by the person who sent the email. example: - 123 id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_email/properties/id" contains: "$ref": "#/components/schemas/resource_email/properties/id" eq: "$ref": "#/components/schemas/resource_email/properties/id" not_contain: "$ref": "#/components/schemas/resource_email/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_email/properties/id" description: Filter by email ID. example: - 123 before: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_email/properties/before" not_contain: "$ref": "#/components/schemas/resource_email/properties/before" eq: "$ref": "#/components/schemas/resource_email/properties/before" not_eq: "$ref": "#/components/schemas/resource_email/properties/before" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_email/properties/before" description: Filter by before. example: eq: value status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_email/properties/status" not_contain: "$ref": "#/components/schemas/resource_email/properties/status" not_eq: "$ref": "#/components/schemas/resource_email/properties/status" eq: "$ref": "#/components/schemas/resource_email/properties/status" description: Filter using explicit operator syntax. example: eq: active - "$ref": "#/components/schemas/resource_email/properties/status" description: Filter by email resolution status (unresolved, resolved, or dismissed). example: eq: active after: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_email/properties/after" contains: "$ref": "#/components/schemas/resource_email/properties/after" not_eq: "$ref": "#/components/schemas/resource_email/properties/after" eq: "$ref": "#/components/schemas/resource_email/properties/after" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_email/properties/after" description: Filter by after. example: eq: value company_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_email/properties/company_id" eq: "$ref": "#/components/schemas/resource_email/properties/company_id" contains: "$ref": "#/components/schemas/resource_email/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_email/properties/company_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_email/properties/company_id" description: Filter by emails associated with a client company (via recipients, linked deal, invoice, or project). example: - 123 patternProperties: {} description: Filter parameters for emails. example: id: eq: '123' filter_survey_field_option: type: object title: Filter survey field option properties: survey_field_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_survey_field_option/properties/survey_field_id" contains: "$ref": "#/components/schemas/resource_survey_field_option/properties/survey_field_id" not_eq: "$ref": "#/components/schemas/resource_survey_field_option/properties/survey_field_id" not_contain: "$ref": "#/components/schemas/resource_survey_field_option/properties/survey_field_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_survey_field_option/properties/survey_field_id" description: Filter by the associated survey field. example: - 123 custom_field_id: oneOf: - "$ref": "#/components/schemas/resource_survey_field_option/properties/custom_field_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_survey_field_option/properties/custom_field_id" not_eq: "$ref": "#/components/schemas/resource_survey_field_option/properties/custom_field_id" contains: "$ref": "#/components/schemas/resource_survey_field_option/properties/custom_field_id" not_contain: "$ref": "#/components/schemas/resource_survey_field_option/properties/custom_field_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated custom field. example: - 123 archived: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_survey_field_option/properties/archived" contains: "$ref": "#/components/schemas/resource_survey_field_option/properties/archived" eq: "$ref": "#/components/schemas/resource_survey_field_option/properties/archived" not_contain: "$ref": "#/components/schemas/resource_survey_field_option/properties/archived" description: Filter using explicit operator syntax. example: true - "$ref": "#/components/schemas/resource_survey_field_option/properties/archived" description: Filter to include only archived (or non-archived) field options. example: true patternProperties: {} description: Filter parameters for survey field options. example: id: eq: '123' _filter_root_price_report: oneOf: - "$ref": "#/components/schemas/filter_price_report" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_price_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `price_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_person: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_person" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_person" description: Filter schema for `person` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_survey_field: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_survey_field" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_survey_field" description: Filter schema for `survey_field` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_service_assignment: type: object title: Service assignment Resource properties: service: title: Service description: The service this assignment belongs to. example: eq: value id: type: integer title: Id description: The unique identifier of this service assignment. example: - 123 service_id: type: integer title: Service description: ID of the service this assignment belongs to. example: - 123 organization: title: Organization description: The organization this service assignment belongs to. example: eq: value person: title: Person description: The person assigned to this service. example: eq: value person_id: type: integer title: Person description: ID of the person assigned to this service. example: - 123 description: Represents an assignment of a person to a service (line item) on a deal or budget. example: id: '123' type: service_assignments attributes: billable: true rate: 150 relationships: person: data: type: people id: '12' service: data: type: services id: '34' resource_proposal_report: type: object title: Proposal report Resource properties: sent_at: type: string title: Sent At format: date description: Timestamp when the proposals in this report row were sent to the client. example: gt: '2026-01-01' group: type: string title: Group description: The grouping dimension used to aggregate proposals into this report row (e.g. company, deal, status). example: eq: value total_budget_total: title: Total Budget Total description: Sum of all proposal budget totals in this report row, in the proposal's original currency. example: gt: 0 date_signed: type: string title: Date Signed format: date description: Date the proposal was signed, computed as `status_changed_at` when a signature image is present. example: eq: value signed: type: integer title: Signed description: Whether the proposals in this report row have been signed by the client. example: eq: value deal_id: type: integer title: Deal description: ID of the deal associated with the proposals in this report row. example: - 123 currency_normalized: title: Currency Normalized description: Budget total amount normalized to the organization's reporting currency. example: eq: value signed_by_email: type: string title: Signed By Email description: Email address of the person who signed the proposal, populated only when the proposal is signed. example: eq: value count: type: integer title: Count description: Number of proposals aggregated into this report row. example: gt: 0 formulas: type: integer title: Formulas description: Custom formula field definitions applied to this report row. example: eq: value total_tax_amount: title: Total Tax Amount description: Sum of calculated tax amounts across all proposals in this report row, in the proposal's original currency. example: gt: 0 organization: title: Organization description: The organization that owns the proposals in this report row. example: eq: value deal: title: Deal description: The deal associated with the proposals in this report row. example: eq: value responsible: title: Responsible description: The responsible person for the proposals in this report row. example: eq: value proposal: title: Proposal description: The proposal associated with this report row (populated when grouped by proposal). example: eq: value budget_total: title: Budget Total description: Total budget amount of the proposal in the proposal's original currency. example: gt: 0 responsible_report: title: Responsible Report description: Nested responsible person report data for this report row. example: eq: value sent_at_period: title: Sent At Period description: The period label for the sent date when the report is grouped by a sent date interval. example: gt: '2026-01-01' total_tax_amount_default: title: Total Tax Amount Default description: Sum of calculated tax amounts across all proposals in this report row, in the organization's default currency. example: gt: 0 average_tax_rate_value: type: number title: Average Tax Rate Value description: Average tax rate percentage applied across proposals in this report row, computed from the tax rate component values. example: gt: 0 deal_report: title: Deal Report description: Nested deal report data for this report row, including deal-level aggregates and attributes. example: eq: value total_tax_amount_normalized: title: Total Tax Amount Normalized description: Sum of calculated tax amounts across all proposals in this report row, normalized to the organization's reporting currency. example: gt: 0 created_at: type: string title: Created At format: date description: Creation timestamp of the proposals in this report row. example: gt: '2026-01-01' link_status: enum: - active - inactive type: string title: Link Status description: Public link sharing status of the proposals in this report row. example: eq: active total_budget_total_normalized: title: Total Budget Total Normalized description: Sum of all proposal budget totals in this report row, normalized to the organization's reporting currency. example: gt: 0 date_signed_period: title: Date Signed Period description: The period label for the date signed when the report is grouped by a signing date interval. example: eq: value creator_report: title: Creator Report description: Nested creator person report data for this report row. example: eq: value tax_amount: title: Tax Amount description: Calculated tax amount for the proposals in this report row, based on the applied tax rate. example: gt: 0 creator_id: type: integer title: Creator description: ID of the person who created the proposals in this report row. example: - 123 updated_at: type: string title: Updated At format: date description: Timestamp of the most recent update to proposals in this report row. example: gt: '2026-01-01' responsible_id: type: integer title: Responsible description: ID of the responsible person for the proposals in this report row. example: - 123 company: title: Company description: The associated client company for this report row. example: eq: value currency: type: string title: Currency description: Currency code of the proposal amounts in this report row. example: eq: value company_id: type: integer title: Company description: ID of the client company associated with proposals in this report row. example: - 123 updated_at_period: title: Updated At Period description: The period label for the updated date when the report is grouped by an update date interval. example: gt: '2026-01-01' created_at_period: title: Created At Period description: The period label for the proposal creation date when the report is grouped by a creation date interval. example: gt: '2026-01-01' currency_default: title: Currency Default description: Budget total amount in the organization's default currency. example: eq: value status: enum: - draft - sent - accepted - rejected type: string title: Status description: Current lifecycle status of the proposals in this report row (e.g. draft, sent, accepted, declined). example: eq: active report: title: Report description: The parent report configuration that this report row belongs to. example: eq: value name: title: Name description: Name of the proposal in this report row (populated when grouped by proposal). example: eq: value company_report: title: Company Report description: Nested company report data for this report row, including company-level aggregates and attributes. example: eq: value status_changed_at: type: string title: Status Changed At format: date description: Timestamp when the proposal status last changed in this report row. example: gt: '2026-01-01' total_budget_total_default: title: Total Budget Total Default description: Sum of all proposal budget totals in this report row, in the organization's default currency. example: gt: 0 status_changed_at_period: title: Status Changed At Period description: The period label for the status change date when the report is grouped by a status change date interval. example: gt: '2026-01-01' id: type: integer title: Id description: Unique identifier for this proposal report row. example: - 123 subsidiary: title: Subsidiary description: The subsidiary company entity associated with the proposals in this report row. example: eq: value formula_fields: title: Formula Fields description: Values of any custom formula fields defined for this report. example: eq: value creator: title: Creator description: The person who created the proposals in this report row. example: eq: value description: A single aggregated row in a proposal report, containing metrics and grouping fields for one or more proposals. example: id: '123' type: proposal_reports attributes: total_value: 25000 status: sent deal_id: 89 relationships: {} _filter_root_holiday_calendar: oneOf: - "$ref": "#/components/schemas/filter_holiday_calendar" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_holiday_calendar" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `holiday_calendar` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_task: type: object title: Filter task properties: fuzzy_people: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/fuzzy_people" not_contain: "$ref": "#/components/schemas/resource_task/properties/fuzzy_people" not_eq: "$ref": "#/components/schemas/resource_task/properties/fuzzy_people" contains: "$ref": "#/components/schemas/resource_task/properties/fuzzy_people" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/fuzzy_people" description: Fuzzy match by people related to the task. example: eq: value title: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/title" not_contain: "$ref": "#/components/schemas/resource_task/properties/title" not_eq: "$ref": "#/components/schemas/resource_task/properties/title" contains: "$ref": "#/components/schemas/resource_task/properties/title" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/title" description: Filter by task title (text search). example: eq: value due_date_on: oneOf: - "$ref": "#/components/schemas/resource_task/properties/due_date_on" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/due_date_on" contains: "$ref": "#/components/schemas/resource_task/properties/due_date_on" not_eq: "$ref": "#/components/schemas/resource_task/properties/due_date_on" not_contain: "$ref": "#/components/schemas/resource_task/properties/due_date_on" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' description: Return tasks due on this exact date. example: gt: '2026-01-01' type_id: oneOf: - "$ref": "#/components/schemas/resource_task/properties/type_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task/properties/type_id" contains: "$ref": "#/components/schemas/resource_task/properties/type_id" eq: "$ref": "#/components/schemas/resource_task/properties/type_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/type_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by task type (task, subtask, or milestone). example: - 123 initial_estimate: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/initial_estimate" not_contain: "$ref": "#/components/schemas/resource_task/properties/initial_estimate" eq: "$ref": "#/components/schemas/resource_task/properties/initial_estimate" contains: "$ref": "#/components/schemas/resource_task/properties/initial_estimate" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_task/properties/initial_estimate" description: Filter by initial time estimate (in seconds). example: gt: 0 workflow_status_id: oneOf: - "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" eq: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/workflow_status_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by workflow status ID. example: - 123 worked_time: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/worked_time" contains: "$ref": "#/components/schemas/resource_task/properties/worked_time" not_contain: "$ref": "#/components/schemas/resource_task/properties/worked_time" not_eq: "$ref": "#/components/schemas/resource_task/properties/worked_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_task/properties/worked_time" description: Filter by worked time (in seconds). example: gt: 0 before: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/before" contains: "$ref": "#/components/schemas/resource_task/properties/before" not_eq: "$ref": "#/components/schemas/resource_task/properties/before" not_contain: "$ref": "#/components/schemas/resource_task/properties/before" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/before" description: Return tasks created on or before this date. example: eq: value query: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/query" contains: "$ref": "#/components/schemas/resource_task/properties/query" not_eq: "$ref": "#/components/schemas/resource_task/properties/query" not_contain: "$ref": "#/components/schemas/resource_task/properties/query" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/query" description: Quick search matching task title and number. example: eq: value billable_time: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/billable_time" not_contain: "$ref": "#/components/schemas/resource_task/properties/billable_time" eq: "$ref": "#/components/schemas/resource_task/properties/billable_time" not_eq: "$ref": "#/components/schemas/resource_task/properties/billable_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_task/properties/billable_time" description: Filter by billable time (in seconds). example: gt: 0 project_id: oneOf: - "$ref": "#/components/schemas/resource_task/properties/project_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/project_id" contains: "$ref": "#/components/schemas/resource_task/properties/project_id" eq: "$ref": "#/components/schemas/resource_task/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/project_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by project ID. example: - 123 date_range: oneOf: - "$ref": "#/components/schemas/resource_task/properties/date_range" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task/properties/date_range" contains: "$ref": "#/components/schemas/resource_task/properties/date_range" not_eq: "$ref": "#/components/schemas/resource_task/properties/date_range" eq: "$ref": "#/components/schemas/resource_task/properties/date_range" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter tasks overlapping a date range (for timeline/Gantt views). example: eq: value task_list_id: oneOf: - "$ref": "#/components/schemas/resource_task/properties/task_list_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task/properties/task_list_id" contains: "$ref": "#/components/schemas/resource_task/properties/task_list_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/task_list_id" eq: "$ref": "#/components/schemas/resource_task/properties/task_list_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by task list (milestone) ID. example: - 123 workflow_id: oneOf: - "$ref": "#/components/schemas/resource_task/properties/workflow_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task/properties/workflow_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/workflow_id" contains: "$ref": "#/components/schemas/resource_task/properties/workflow_id" eq: "$ref": "#/components/schemas/resource_task/properties/workflow_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by workflow ID (via the task's workflow status). example: - 123 subscriber_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/subscriber_id" contains: "$ref": "#/components/schemas/resource_task/properties/subscriber_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/subscriber_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/subscriber_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_task/properties/subscriber_id" description: Filter by subscriber (person subscribed to the task). example: - 123 parent_task_id: oneOf: - "$ref": "#/components/schemas/resource_task/properties/parent_task_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" contains: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/parent_task_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by parent task (to find subtasks of a specific task). example: - 123 start_date_before: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/start_date_before" contains: "$ref": "#/components/schemas/resource_task/properties/start_date_before" not_contain: "$ref": "#/components/schemas/resource_task/properties/start_date_before" not_eq: "$ref": "#/components/schemas/resource_task/properties/start_date_before" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task/properties/start_date_before" description: Return tasks starting on or before this date. example: gt: '2026-01-01' board_name: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/board_name" contains: "$ref": "#/components/schemas/resource_task/properties/board_name" not_contain: "$ref": "#/components/schemas/resource_task/properties/board_name" eq: "$ref": "#/components/schemas/resource_task/properties/board_name" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/board_name" description: Filter by folder name (text search). example: eq: value last_activity_before: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task/properties/last_activity_before" eq: "$ref": "#/components/schemas/resource_task/properties/last_activity_before" contains: "$ref": "#/components/schemas/resource_task/properties/last_activity_before" not_eq: "$ref": "#/components/schemas/resource_task/properties/last_activity_before" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/last_activity_before" description: Return tasks with activity on or before this date. example: eq: value query_extended: oneOf: - "$ref": "#/components/schemas/resource_task/properties/query_extended" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/query_extended" contains: "$ref": "#/components/schemas/resource_task/properties/query_extended" eq: "$ref": "#/components/schemas/resource_task/properties/query_extended" not_contain: "$ref": "#/components/schemas/resource_task/properties/query_extended" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Extended search matching title, number, and description. example: eq: value project_manager_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/project_manager_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/project_manager_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/project_manager_id" contains: "$ref": "#/components/schemas/resource_task/properties/project_manager_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_task/properties/project_manager_id" description: Filter by the project's responsible person. example: - 123 tags: oneOf: - "$ref": "#/components/schemas/resource_task/properties/tags" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/tags" contains: "$ref": "#/components/schemas/resource_task/properties/tags" not_contain: "$ref": "#/components/schemas/resource_task/properties/tags" not_eq: "$ref": "#/components/schemas/resource_task/properties/tags" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by tag name(s); use null to match tasks with no tags. example: eq: value bookable_before: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/bookable_before" contains: "$ref": "#/components/schemas/resource_task/properties/bookable_before" not_contain: "$ref": "#/components/schemas/resource_task/properties/bookable_before" not_eq: "$ref": "#/components/schemas/resource_task/properties/bookable_before" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/bookable_before" description: Filter tasks whose linked service is bookable before this date. example: eq: value closed_after: oneOf: - "$ref": "#/components/schemas/resource_task/properties/closed_after" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task/properties/closed_after" contains: "$ref": "#/components/schemas/resource_task/properties/closed_after" eq: "$ref": "#/components/schemas/resource_task/properties/closed_after" not_eq: "$ref": "#/components/schemas/resource_task/properties/closed_after" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Return tasks closed on or after this date. example: eq: value jump_query: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/jump_query" eq: "$ref": "#/components/schemas/resource_task/properties/jump_query" not_eq: "$ref": "#/components/schemas/resource_task/properties/jump_query" not_contain: "$ref": "#/components/schemas/resource_task/properties/jump_query" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/jump_query" description: Quick jump search by task name or number. example: eq: value full_query: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/full_query" not_contain: "$ref": "#/components/schemas/resource_task/properties/full_query" not_eq: "$ref": "#/components/schemas/resource_task/properties/full_query" contains: "$ref": "#/components/schemas/resource_task/properties/full_query" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/full_query" description: Full-text search across task fields. example: eq: value board_status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/board_status" eq: "$ref": "#/components/schemas/resource_task/properties/board_status" not_contain: "$ref": "#/components/schemas/resource_task/properties/board_status" not_eq: "$ref": "#/components/schemas/resource_task/properties/board_status" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active - "$ref": "#/components/schemas/resource_task/properties/board_status" description: Filter by folder (board) open/archived status. example: eq: active closed_at: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/closed_at" eq: "$ref": "#/components/schemas/resource_task/properties/closed_at" contains: "$ref": "#/components/schemas/resource_task/properties/closed_at" not_contain: "$ref": "#/components/schemas/resource_task/properties/closed_at" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task/properties/closed_at" description: Filter by close date range (closed_at). example: gt: '2026-01-01' task_list_status: oneOf: - "$ref": "#/components/schemas/resource_task/properties/task_list_status" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/task_list_status" eq: "$ref": "#/components/schemas/resource_task/properties/task_list_status" not_eq: "$ref": "#/components/schemas/resource_task/properties/task_list_status" not_contain: "$ref": "#/components/schemas/resource_task/properties/task_list_status" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active description: Filter by task list open/archived status. example: eq: active workflow_status_category_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/workflow_status_category_id" contains: "$ref": "#/components/schemas/resource_task/properties/workflow_status_category_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/workflow_status_category_id" eq: "$ref": "#/components/schemas/resource_task/properties/workflow_status_category_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_task/properties/workflow_status_category_id" description: 'Filter by status category: not started (1), started (2), or closed (3).' example: - 123 created_at: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/created_at" contains: "$ref": "#/components/schemas/resource_task/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_task/properties/created_at" eq: "$ref": "#/components/schemas/resource_task/properties/created_at" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task/properties/created_at" description: Filter by creation date range (created_at). example: gt: '2026-01-01' folder_status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/folder_status" eq: "$ref": "#/components/schemas/resource_task/properties/folder_status" not_eq: "$ref": "#/components/schemas/resource_task/properties/folder_status" not_contain: "$ref": "#/components/schemas/resource_task/properties/folder_status" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active - "$ref": "#/components/schemas/resource_task/properties/folder_status" description: Filter by whether the folder is active or archived (alias for board_status). example: eq: active project_type: oneOf: - "$ref": "#/components/schemas/resource_task/properties/project_type" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/project_type" not_contain: "$ref": "#/components/schemas/resource_task/properties/project_type" eq: "$ref": "#/components/schemas/resource_task/properties/project_type" not_eq: "$ref": "#/components/schemas/resource_task/properties/project_type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active description: 'Filter by project type: internal (overhead) or client (billable).' example: eq: active custom_fields: oneOf: - "$ref": "#/components/schemas/resource_task/properties/custom_fields" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_task/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_task/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_task/properties/custom_fields" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by custom field values. example: eq: value overdue_status: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/overdue_status" contains: "$ref": "#/components/schemas/resource_task/properties/overdue_status" eq: "$ref": "#/components/schemas/resource_task/properties/overdue_status" not_contain: "$ref": "#/components/schemas/resource_task/properties/overdue_status" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active - "$ref": "#/components/schemas/resource_task/properties/overdue_status" description: Filter by whether the task is overdue (past due date). example: eq: active public_access: oneOf: - "$ref": "#/components/schemas/resource_task/properties/public_access" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/public_access" not_eq: "$ref": "#/components/schemas/resource_task/properties/public_access" not_contain: "$ref": "#/components/schemas/resource_task/properties/public_access" contains: "$ref": "#/components/schemas/resource_task/properties/public_access" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by task privacy (deprecated — use `private` filter instead). example: eq: value last_activity: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/last_activity" contains: "$ref": "#/components/schemas/resource_task/properties/last_activity" not_contain: "$ref": "#/components/schemas/resource_task/properties/last_activity" eq: "$ref": "#/components/schemas/resource_task/properties/last_activity" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/last_activity" description: Filter by last activity date range (last_activity_at). example: eq: value remaining_time: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/remaining_time" not_eq: "$ref": "#/components/schemas/resource_task/properties/remaining_time" not_contain: "$ref": "#/components/schemas/resource_task/properties/remaining_time" contains: "$ref": "#/components/schemas/resource_task/properties/remaining_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_task/properties/remaining_time" description: Filter by remaining time (in seconds). example: gt: 0 start_date_after: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/start_date_after" eq: "$ref": "#/components/schemas/resource_task/properties/start_date_after" not_contain: "$ref": "#/components/schemas/resource_task/properties/start_date_after" not_eq: "$ref": "#/components/schemas/resource_task/properties/start_date_after" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task/properties/start_date_after" description: Return tasks starting on or after this date. example: gt: '2026-01-01' due_date: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task/properties/due_date" eq: "$ref": "#/components/schemas/resource_task/properties/due_date" contains: "$ref": "#/components/schemas/resource_task/properties/due_date" not_eq: "$ref": "#/components/schemas/resource_task/properties/due_date" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task/properties/due_date" description: Filter by due date range (due_date). example: gt: '2026-01-01' template: oneOf: - "$ref": "#/components/schemas/resource_task/properties/template" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/template" eq: "$ref": "#/components/schemas/resource_task/properties/template" not_contain: "$ref": "#/components/schemas/resource_task/properties/template" not_eq: "$ref": "#/components/schemas/resource_task/properties/template" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Return only template tasks. example: eq: value subtask: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/subtask" not_contain: "$ref": "#/components/schemas/resource_task/properties/subtask" contains: "$ref": "#/components/schemas/resource_task/properties/subtask" not_eq: "$ref": "#/components/schemas/resource_task/properties/subtask" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/subtask" description: Filter to include only subtasks (tasks with a parent task). example: eq: value task_number: oneOf: - "$ref": "#/components/schemas/resource_task/properties/task_number" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/task_number" eq: "$ref": "#/components/schemas/resource_task/properties/task_number" not_eq: "$ref": "#/components/schemas/resource_task/properties/task_number" not_contain: "$ref": "#/components/schemas/resource_task/properties/task_number" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by task number (text search). example: gt: 0 due_date_after: oneOf: - "$ref": "#/components/schemas/resource_task/properties/due_date_after" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/due_date_after" not_contain: "$ref": "#/components/schemas/resource_task/properties/due_date_after" contains: "$ref": "#/components/schemas/resource_task/properties/due_date_after" not_eq: "$ref": "#/components/schemas/resource_task/properties/due_date_after" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' description: Return tasks due on or after this date. example: gt: '2026-01-01' folder_name: oneOf: - "$ref": "#/components/schemas/resource_task/properties/folder_name" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/folder_name" contains: "$ref": "#/components/schemas/resource_task/properties/folder_name" not_contain: "$ref": "#/components/schemas/resource_task/properties/folder_name" not_eq: "$ref": "#/components/schemas/resource_task/properties/folder_name" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by folder name (alias for board_name). example: eq: value repeating: oneOf: - "$ref": "#/components/schemas/resource_task/properties/repeating" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/repeating" contains: "$ref": "#/components/schemas/resource_task/properties/repeating" not_contain: "$ref": "#/components/schemas/resource_task/properties/repeating" eq: "$ref": "#/components/schemas/resource_task/properties/repeating" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter to include only repeating tasks (those with a repeat schedule). example: eq: value status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/status" not_eq: "$ref": "#/components/schemas/resource_task/properties/status" eq: "$ref": "#/components/schemas/resource_task/properties/status" not_contain: "$ref": "#/components/schemas/resource_task/properties/status" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active - "$ref": "#/components/schemas/resource_task/properties/status" description: Filter by open (1) or closed (2) status. example: eq: active last_actor_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" contains: "$ref": "#/components/schemas/resource_task/properties/last_actor_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_task/properties/last_actor_id" description: Filter by the person who last acted on the task. example: - 123 fuzzy_dates: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_task/properties/fuzzy_dates" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task/properties/fuzzy_dates" description: Fuzzy date matching across task date fields. example: gt: '2026-01-01' due_date_before: oneOf: - "$ref": "#/components/schemas/resource_task/properties/due_date_before" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/due_date_before" not_contain: "$ref": "#/components/schemas/resource_task/properties/due_date_before" not_eq: "$ref": "#/components/schemas/resource_task/properties/due_date_before" contains: "$ref": "#/components/schemas/resource_task/properties/due_date_before" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' description: Return tasks due on or before this date. example: gt: '2026-01-01' creator_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/creator_id" eq: "$ref": "#/components/schemas/resource_task/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/creator_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_task/properties/creator_id" description: Filter by the person who created the task. example: - 123 folder_id: oneOf: - "$ref": "#/components/schemas/resource_task/properties/folder_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/folder_id" eq: "$ref": "#/components/schemas/resource_task/properties/folder_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/folder_id" contains: "$ref": "#/components/schemas/resource_task/properties/folder_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by folder ID (alias for board_id). example: - 123 closed_before: oneOf: - "$ref": "#/components/schemas/resource_task/properties/closed_before" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/closed_before" not_contain: "$ref": "#/components/schemas/resource_task/properties/closed_before" not_eq: "$ref": "#/components/schemas/resource_task/properties/closed_before" eq: "$ref": "#/components/schemas/resource_task/properties/closed_before" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Return tasks closed on or before this date. example: eq: value updated_at: oneOf: - "$ref": "#/components/schemas/resource_task/properties/updated_at" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/updated_at" not_contain: "$ref": "#/components/schemas/resource_task/properties/updated_at" not_eq: "$ref": "#/components/schemas/resource_task/properties/updated_at" contains: "$ref": "#/components/schemas/resource_task/properties/updated_at" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' description: Filter by last update date range (updated_at). example: gt: '2026-01-01' trackable_by_person_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/trackable_by_person_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/trackable_by_person_id" eq: "$ref": "#/components/schemas/resource_task/properties/trackable_by_person_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/trackable_by_person_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_task/properties/trackable_by_person_id" description: Filter tasks that the specified person is permitted to track time on. example: - 123 person_type: oneOf: - "$ref": "#/components/schemas/resource_task/properties/person_type" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task/properties/person_type" not_eq: "$ref": "#/components/schemas/resource_task/properties/person_type" eq: "$ref": "#/components/schemas/resource_task/properties/person_type" contains: "$ref": "#/components/schemas/resource_task/properties/person_type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active description: Filter by parent/subtask distinction. example: eq: active id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/id" contains: "$ref": "#/components/schemas/resource_task/properties/id" not_contain: "$ref": "#/components/schemas/resource_task/properties/id" not_eq: "$ref": "#/components/schemas/resource_task/properties/id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_task/properties/id" description: Filter by task ID. example: - 123 template_id: oneOf: - "$ref": "#/components/schemas/resource_task/properties/template_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task/properties/template_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/template_id" eq: "$ref": "#/components/schemas/resource_task/properties/template_id" contains: "$ref": "#/components/schemas/resource_task/properties/template_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter tasks by the template they were created from. example: - 123 after: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/after" not_contain: "$ref": "#/components/schemas/resource_task/properties/after" contains: "$ref": "#/components/schemas/resource_task/properties/after" not_eq: "$ref": "#/components/schemas/resource_task/properties/after" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/after" description: Return tasks created on or after this date. example: eq: value last_activity_after: oneOf: - "$ref": "#/components/schemas/resource_task/properties/last_activity_after" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/last_activity_after" contains: "$ref": "#/components/schemas/resource_task/properties/last_activity_after" not_contain: "$ref": "#/components/schemas/resource_task/properties/last_activity_after" eq: "$ref": "#/components/schemas/resource_task/properties/last_activity_after" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Return tasks with activity on or after this date. example: eq: value task_type: oneOf: - "$ref": "#/components/schemas/resource_task/properties/task_type" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/task_type" not_contain: "$ref": "#/components/schemas/resource_task/properties/task_type" eq: "$ref": "#/components/schemas/resource_task/properties/task_type" contains: "$ref": "#/components/schemas/resource_task/properties/task_type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active description: Filter by task type (task, subtask, or milestone). example: eq: active company_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/company_id" eq: "$ref": "#/components/schemas/resource_task/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/company_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_task/properties/company_id" description: Filter by client company (via the task's project). example: - 123 task_list_name: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/task_list_name" not_contain: "$ref": "#/components/schemas/resource_task/properties/task_list_name" not_eq: "$ref": "#/components/schemas/resource_task/properties/task_list_name" contains: "$ref": "#/components/schemas/resource_task/properties/task_list_name" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_task/properties/task_list_name" description: Filter by task list name (text search). example: eq: value due_date_new: oneOf: - "$ref": "#/components/schemas/resource_task/properties/due_date_new" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/due_date_new" not_eq: "$ref": "#/components/schemas/resource_task/properties/due_date_new" contains: "$ref": "#/components/schemas/resource_task/properties/due_date_new" not_contain: "$ref": "#/components/schemas/resource_task/properties/due_date_new" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' description: Return tasks due on this exact date. example: gt: '2026-01-01' bookable_after: oneOf: - "$ref": "#/components/schemas/resource_task/properties/bookable_after" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task/properties/bookable_after" contains: "$ref": "#/components/schemas/resource_task/properties/bookable_after" not_eq: "$ref": "#/components/schemas/resource_task/properties/bookable_after" eq: "$ref": "#/components/schemas/resource_task/properties/bookable_after" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter tasks whose linked service becomes bookable on or after this date. example: eq: value assignee_id: oneOf: - "$ref": "#/components/schemas/resource_task/properties/assignee_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/assignee_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/assignee_id" contains: "$ref": "#/components/schemas/resource_task/properties/assignee_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/assignee_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by assigned person (also matches open to-do assignees). example: - 123 start_date: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task/properties/start_date" not_eq: "$ref": "#/components/schemas/resource_task/properties/start_date" not_contain: "$ref": "#/components/schemas/resource_task/properties/start_date" eq: "$ref": "#/components/schemas/resource_task/properties/start_date" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task/properties/start_date" description: Filter by start date range (start_date). example: gt: '2026-01-01' board_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task/properties/board_id" contains: "$ref": "#/components/schemas/resource_task/properties/board_id" eq: "$ref": "#/components/schemas/resource_task/properties/board_id" not_contain: "$ref": "#/components/schemas/resource_task/properties/board_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_task/properties/board_id" description: Filter by folder (board) ID. example: - 123 dependency_type: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task/properties/dependency_type" not_eq: "$ref": "#/components/schemas/resource_task/properties/dependency_type" not_contain: "$ref": "#/components/schemas/resource_task/properties/dependency_type" contains: "$ref": "#/components/schemas/resource_task/properties/dependency_type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active - "$ref": "#/components/schemas/resource_task/properties/dependency_type" description: 'Filter by dependency type: blocking, waiting on, or linked.' example: eq: active service_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task/properties/service_id" contains: "$ref": "#/components/schemas/resource_task/properties/service_id" eq: "$ref": "#/components/schemas/resource_task/properties/service_id" not_eq: "$ref": "#/components/schemas/resource_task/properties/service_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_task/properties/service_id" description: Filter by associated service ID. example: - 123 patternProperties: "^creator..*$": title: Creator relationship "^project..*$": title: Project relationship "^service..*$": title: Service relationship "^assignee..*$": title: Assignee relationship "^task_list..*$": title: Task list relationship "^last_actor..*$": title: Last actor relationship description: Available filter parameters for querying tasks. example: closed: eq: false project_id: - 123 _filter_root_integration: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_integration" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_integration" description: Filter schema for `integration` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_role: type: object title: Filter role properties: base_role_id: oneOf: - "$ref": "#/components/schemas/resource_role/properties/base_role_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_role/properties/base_role_id" not_contain: "$ref": "#/components/schemas/resource_role/properties/base_role_id" contains: "$ref": "#/components/schemas/resource_role/properties/base_role_id" eq: "$ref": "#/components/schemas/resource_role/properties/base_role_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by base role ID. example: - 123 name: oneOf: - "$ref": "#/components/schemas/resource_role/properties/name" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_role/properties/name" eq: "$ref": "#/components/schemas/resource_role/properties/name" not_contain: "$ref": "#/components/schemas/resource_role/properties/name" not_eq: "$ref": "#/components/schemas/resource_role/properties/name" description: Filter using explicit operator syntax. example: eq: value description: Filter by role name (text search). example: eq: value id: oneOf: - "$ref": "#/components/schemas/resource_role/properties/id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_role/properties/id" contains: "$ref": "#/components/schemas/resource_role/properties/id" not_contain: "$ref": "#/components/schemas/resource_role/properties/id" not_eq: "$ref": "#/components/schemas/resource_role/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by ID. example: - 123 user_type_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_role/properties/user_type_id" not_eq: "$ref": "#/components/schemas/resource_role/properties/user_type_id" not_contain: "$ref": "#/components/schemas/resource_role/properties/user_type_id" contains: "$ref": "#/components/schemas/resource_role/properties/user_type_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_role/properties/user_type_id" description: Filter by user type ID. example: - 123 inactive_agents_count: oneOf: - "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" not_contain: "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" eq: "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" contains: "$ref": "#/components/schemas/resource_role/properties/inactive_agents_count" description: Object form with operator key. example: gt: 0 description: Filter by the number of inactive agent (bot) users assigned this role. example: gt: 0 active_agents_count: oneOf: - "$ref": "#/components/schemas/resource_role/properties/active_agents_count" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_role/properties/active_agents_count" contains: "$ref": "#/components/schemas/resource_role/properties/active_agents_count" not_contain: "$ref": "#/components/schemas/resource_role/properties/active_agents_count" not_eq: "$ref": "#/components/schemas/resource_role/properties/active_agents_count" description: Object form with operator key. example: gt: 0 description: Filter by the number of active agent (bot) users assigned this role. example: gt: 0 active_users_count: oneOf: - "$ref": "#/components/schemas/resource_role/properties/active_users_count" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_role/properties/active_users_count" contains: "$ref": "#/components/schemas/resource_role/properties/active_users_count" eq: "$ref": "#/components/schemas/resource_role/properties/active_users_count" not_contain: "$ref": "#/components/schemas/resource_role/properties/active_users_count" description: Object form with operator key. example: gt: 0 description: Filter by the number of active human users assigned this role. example: gt: 0 permissions: oneOf: - "$ref": "#/components/schemas/resource_role/properties/permissions" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_role/properties/permissions" contains: "$ref": "#/components/schemas/resource_role/properties/permissions" not_eq: "$ref": "#/components/schemas/resource_role/properties/permissions" eq: "$ref": "#/components/schemas/resource_role/properties/permissions" description: Filter using explicit operator syntax. example: eq: value description: Filter by permission (text search). example: eq: value inactive_users_count: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" eq: "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" contains: "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" not_eq: "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" description: Object form with operator key. example: gt: 0 - "$ref": "#/components/schemas/resource_role/properties/inactive_users_count" description: Filter by the number of inactive human users assigned this role. example: gt: 0 patternProperties: {} description: Filter parameters for roles. example: id: eq: '123' resource_pipeline: type: object title: Pipeline Resource properties: updated_at: type: string title: Updated At format: date-time description: Timestamp of the last modification to this pipeline. example: gt: '2026-01-01' icon_id: type: string title: Icon description: Icon ID used to visually identify this pipeline. example: - 123 pipeline_type_id: enum: - 1 - 2 type: integer title: Pipeline Type description: 'Pipeline type: 1 = sales (opportunities), 2 = production (budgets).' example: - 123 updater: title: Updater description: Person who last updated this pipeline. example: eq: value position: type: integer title: Position description: Display order of this pipeline relative to other pipelines. example: eq: value name: type: string title: Name description: Display name of the pipeline. example: eq: value creator: title: Creator description: Person who created this pipeline. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when the pipeline was created. example: gt: '2026-01-01' organization: title: Organization description: The organization this pipeline belongs to. example: eq: value description: A sales or production pipeline defining the stages that deals progress through. example: id: '1' type: pipelines attributes: name: Sales Pipeline default: true archived_at: relationships: deal_statuses: data: - type: deal_statuses id: '1' - type: deal_statuses id: '2' - type: deal_statuses id: '3' resource_payment_reminder_sequence: type: object title: Payment reminder sequence Resource properties: created_at: type: string title: Created At format: date-time description: Timestamp when this payment reminder sequence was created. example: gt: '2026-01-01' updated_at: type: string title: Updated At format: date-time description: Timestamp when this payment reminder sequence was last updated. example: gt: '2026-01-01' payment_reminders: title: Payment Reminders description: Array of individual payment reminder steps in this sequence, each defining timing and message content. example: eq: value default_sequence: type: boolean title: Default Sequence description: When true, this sequence is used as the default reminder sequence for new invoices. example: eq: value creator: title: Creator description: The person who created this payment reminder sequence. example: eq: value name: type: string title: Name description: The name of this payment reminder sequence. example: eq: value organization: title: Organization description: The organization this payment reminder sequence belongs to. example: eq: value updater: title: Updater description: The person who last updated this payment reminder sequence. example: eq: value description: The resource payment reminder sequence. example: id: '2' type: payment_reminder_sequences attributes: name: Standard Reminder default: true relationships: {} resource_survey_report: type: object title: Survey report Resource properties: currency_normalized: title: Currency Normalized description: Currency in the normalized currency for this survey report group. example: eq: value group: type: string title: Group description: The grouping dimension for this survey report row. example: eq: value title: type: string title: Title description: Title for this survey report group. example: eq: value survey: title: Survey description: Survey for this survey report group. example: eq: value creator: title: Creator description: Creator for this survey report group. example: eq: value currency: title: Currency description: Currency for this survey report group. example: eq: value organization: title: Organization description: Organization for this survey report group. example: eq: value created_at: type: string title: Created At format: date description: Created at for this survey report group. example: gt: '2026-01-01' editable: type: boolean title: Editable description: Editable for this survey report group. example: eq: value id: type: integer title: Id description: Unique identifier for this survey report row. example: - 123 currency_default: title: Currency Default description: Currency in the organization's default currency for this survey report group. example: eq: value formula_fields: title: Formula Fields description: Formula fields for this survey report group. example: eq: value count: type: integer title: Count description: Number of surveys in this report group. example: gt: 0 query: type: string title: Query description: Query for this survey report group. example: eq: value report: title: Report description: Report for this survey report group. example: eq: value project: title: Project description: Project for this survey report group. example: eq: value updater: title: Updater description: Updater for this survey report group. example: eq: value creator_id: type: integer title: Creator description: Creator id for this survey report group. example: - 123 survey_id: title: Survey description: Survey id for this survey report group. example: - 123 project_id: type: integer title: Project description: Project id for this survey report group. example: - 123 description: An aggregated survey report row grouping survey submissions by configurable dimensions. example: id: '123' type: survey_reports attributes: response_count: 42 avg_score: 4.2 survey_id: 7 relationships: {} resource_company_report: type: object title: Company report Resource properties: group: type: string title: Group description: The grouping dimension for this company report row. example: eq: value formula_fields: title: Formula Fields description: Computed formula field values for this report row. example: eq: value company_custom_fields: title: Company Custom Fields description: Custom field values associated with the company. example: eq: value payment_terms: type: integer title: Payment Terms description: Payment terms in days — number of days after invoice issue that payment is due. example: eq: value parent_company_id: type: integer title: Parent Company description: ID of the parent company in the organizational hierarchy. example: - 123 payment_terms_type: type: integer title: Payment Terms Type quarter: type: string title: Quarter description: Quarter number (1–4) of the time dimension bucket for this report row. example: eq: value company_name: title: Company Name description: Display name of the company. example: eq: value full_query: type: string title: Full Query description: Full query string used to generate this report row. example: eq: value company_billing_name: title: Company Billing Name description: Company billing name for this company report group. example: eq: value contact_country: title: Contact Country description: Country of the company's primary contact. example: gt: 0 last_activity_at: type: string title: Last Activity At format: date description: Timestamp of the most recent activity on this company. example: gt: '2026-01-01' status: enum: - 1 - 2 type: integer title: Status description: Status for this company report group. example: eq: active subscriber_id: type: integer title: Subscriber description: Subscriber id for this company report group. example: - 123 default_tax_rate_id: type: integer title: Default Tax Rate description: ID of the default tax rate applied to the company's invoices. example: - 123 fuzzy_dates: type: string title: Fuzzy Dates description: Fuzzy date range values used in the report query for flexible date matching. example: gt: '2026-01-01' contact_city: title: Contact City description: City of the company's primary contact. example: eq: value month: type: string title: Month description: Month number of the time dimension bucket for this report row. example: eq: value last_activity_at_period: title: Last Activity At Period description: Time period grouping for last activity date (e.g. week, month, quarter). example: gt: '2026-01-01' created_at_period: title: Created At Period description: Time period grouping for created at (e.g. week, month, quarter). example: gt: '2026-01-01' contact_state: title: Contact State description: State or province of the company's primary contact. example: eq: active contact_email: title: Contact Email description: Email address of the company's primary contact. example: eq: value query: type: string title: Query description: Query parameters used to generate this report row. example: eq: value company: title: Company description: Company for this company report group. example: eq: value subsidiary_id: type: integer title: Subsidiary description: Subsidiary id for this company report group. example: - 123 currency_default: title: Currency Default description: Default currency code of the company. example: eq: value count: type: integer title: Count description: Number of companys in this report group. example: gt: 0 name: type: string title: Name description: Display name of the company. example: eq: value company_id: type: integer title: Company description: Unique identifier of the company. example: - 123 billing_name: type: string title: Billing Name description: Billing name for this company report group. example: eq: value contact_address: title: Contact Address description: Street address of the company's primary contact. example: eq: value company_code: type: string title: Company Code description: Unique identifier code assigned to the company. example: eq: value contact_zipcode: title: Contact Zipcode description: Contact zipcode for this company report group. example: eq: value currency: title: Currency description: Currency code used for monetary values in this report row. example: eq: value parent_company: title: Parent Company description: The parent company of this company in the hierarchy. example: eq: value company_last_activity_at: title: Company Last Activity At description: Timestamp of the most recent activity on the company associated with this report row. example: gt: '2026-01-01' contact_website: title: Contact Website description: Website URL of the company's primary contact. example: eq: value id: type: integer title: Id description: Unique identifier for this company report row. example: - 123 tags: type: string title: Tags description: List of tags applied to the company. example: eq: value organization: title: Organization description: Relationship link to the organization this report belongs to. example: eq: value default_currency: type: string title: Default Currency description: Default currency code configured for the company. example: eq: value currency_normalized: title: Currency Normalized description: Currency code after normalization to the organization's reporting currency. example: eq: value vat: type: string title: Vat description: Vat for this company report group. example: eq: value year: type: string title: Year description: Year grouping for this company report row. example: eq: value week: type: string title: Week description: Week grouping for this company report row. example: eq: value project_id: type: integer title: Project description: ID of the project associated with this report row. example: - 123 parent_company_report: title: Parent Company Report description: Report object for the parent company of this company in the hierarchy. example: eq: value jump_query: type: string title: Jump Query description: Jump query string for navigating directly to the underlying records of this report row. example: eq: value created_at: type: string title: Created At format: date description: Created at for this company report group. example: gt: '2026-01-01' company_created_at: title: Company Created At description: Date and time when the company was created. example: gt: '2026-01-01' report: title: Report description: Relationship link to the saved report filter this row is generated from. example: eq: value exclude_company_and_children: type: integer title: Exclude Company And Children description: When true, excludes this company and all its subsidiaries from results when filtering by parent company. example: eq: value due_days: type: integer title: Due Days description: Payment due days — number of days after invoice date that payment is due. example: eq: value contact_phone: title: Contact Phone description: Phone number of the company's primary contact. example: eq: value custom_fields: type: string title: Custom Fields description: Custom field values associated with this report row. example: eq: value archived_at: type: string title: Archived At format: date description: Archived at for this company report group. example: gt: '2026-01-01' fuzzy_people: type: string title: Fuzzy People description: Fuzzy people references used in the report query for flexible person matching. example: eq: value default_subsidiary_id: type: integer title: Default Subsidiary description: ID of the default subsidiary associated with this company. example: - 123 has_parent_company: type: boolean title: Has Parent Company description: When true, this company has a parent company in the hierarchy. example: eq: value subsidiary: title: Subsidiary description: Subsidiary for this company report group. example: eq: value description: An aggregated company report row grouping client companies by configurable dimensions with revenue, invoicing, and relationship metrics. example: id: '123' type: company_reports attributes: total_revenue: 250000 invoiced: 175000 payments: 140000 company_id: 67 relationships: {} _filter_root_folder: oneOf: - "$ref": "#/components/schemas/filter_folder" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: The logical operator used to combine filter conditions. Accepted values are 'and' and 'or'. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_folder" description: A grouped filter object that combines multiple folder filter conditions using a logical operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: A root filter object for folder list requests, supporting both a grouped filter with logical operators and a flat filter object. example: id: eq: '123' resource_integration_exporter_configuration: type: object title: Integration exporter configuration Resource properties: datev_client_account_code: title: Datev Client Account Code description: The datev client account code. example: gt: 0 client_id: title: Client description: ID of the company (client) this exporter configuration applies to. example: - 123 company: title: Company description: The company (client) this exporter configuration applies to. example: eq: value datev_vendor_account_code: title: Datev Vendor Account Code description: The datev vendor account code. example: gt: 0 organization: title: Organization description: The organization this exporter configuration belongs to. example: eq: value company_type: enum: - client - vendor - both type: string title: Company Type description: The type of company record used in the accounting integration, such as customer or vendor. example: eq: active company_id: type: integer title: Company description: ID of the company (client) this exporter configuration applies to. example: - 123 description: The resource integration exporter configuration. example: id: '123' type: integration_exporter_configurations attributes: provider: quickbooks enabled: true settings: {} relationships: {} filter_payment: type: object title: Filter payment properties: number: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_payment/properties/number" eq: "$ref": "#/components/schemas/resource_payment/properties/number" contains: "$ref": "#/components/schemas/resource_payment/properties/number" not_eq: "$ref": "#/components/schemas/resource_payment/properties/number" description: Filter using explicit operator syntax. example: eq: INV-2026-042 - "$ref": "#/components/schemas/resource_payment/properties/number" description: Filter by the invoice number associated with the payment. example: eq: INV-2026-042 project_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_payment/properties/project_id" contains: "$ref": "#/components/schemas/resource_payment/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_payment/properties/project_id" eq: "$ref": "#/components/schemas/resource_payment/properties/project_id" description: Filter using explicit operator syntax. example: eq: - 567890 - "$ref": "#/components/schemas/resource_payment/properties/project_id" description: Filter by the associated project. example: eq: - 567890 written_off_on: oneOf: - "$ref": "#/components/schemas/resource_payment/properties/written_off_on" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_payment/properties/written_off_on" not_contain: "$ref": "#/components/schemas/resource_payment/properties/written_off_on" not_eq: "$ref": "#/components/schemas/resource_payment/properties/written_off_on" eq: "$ref": "#/components/schemas/resource_payment/properties/written_off_on" description: Filter using explicit operator syntax. example: eq: '2026-03-20' description: Filter by write-off date range (`written_off_on`). example: eq: '2026-03-20' external_id: oneOf: - "$ref": "#/components/schemas/resource_payment/properties/external_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_payment/properties/external_id" not_eq: "$ref": "#/components/schemas/resource_payment/properties/external_id" eq: "$ref": "#/components/schemas/resource_payment/properties/external_id" contains: "$ref": "#/components/schemas/resource_payment/properties/external_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: - xero-pay-456 description: Filter by external payment ID from an integrated system. example: eq: - xero-pay-456 paid_on: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_payment/properties/paid_on" contains: "$ref": "#/components/schemas/resource_payment/properties/paid_on" not_eq: "$ref": "#/components/schemas/resource_payment/properties/paid_on" eq: "$ref": "#/components/schemas/resource_payment/properties/paid_on" description: Filter using explicit operator syntax. example: eq: '2026-03-15' - "$ref": "#/components/schemas/resource_payment/properties/paid_on" description: Filter by payment date range (`paid_on`). example: eq: '2026-03-15' paid_after: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payment/properties/paid_after" not_eq: "$ref": "#/components/schemas/resource_payment/properties/paid_after" contains: "$ref": "#/components/schemas/resource_payment/properties/paid_after" not_contain: "$ref": "#/components/schemas/resource_payment/properties/paid_after" description: Filter using explicit operator syntax. example: eq: '2026-03-01' - "$ref": "#/components/schemas/resource_payment/properties/paid_after" description: Filter payments made on or after this date (`paid_on`). example: eq: '2026-03-01' query: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_payment/properties/query" eq: "$ref": "#/components/schemas/resource_payment/properties/query" not_eq: "$ref": "#/components/schemas/resource_payment/properties/query" contains: "$ref": "#/components/schemas/resource_payment/properties/query" description: Filter using explicit operator syntax. example: eq: INV-2026 - "$ref": "#/components/schemas/resource_payment/properties/query" description: Search payments by invoice number or related text. example: eq: INV-2026 subsidiary_id: oneOf: - "$ref": "#/components/schemas/resource_payment/properties/subsidiary_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_payment/properties/subsidiary_id" eq: "$ref": "#/components/schemas/resource_payment/properties/subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_payment/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_payment/properties/subsidiary_id" description: Filter using explicit operator syntax. example: eq: - 234 description: Filter by the associated subsidiary (via the invoice). example: eq: - 234 id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_payment/properties/id" not_contain: "$ref": "#/components/schemas/resource_payment/properties/id" contains: "$ref": "#/components/schemas/resource_payment/properties/id" eq: "$ref": "#/components/schemas/resource_payment/properties/id" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: - 345678 - "$ref": "#/components/schemas/resource_payment/properties/id" description: Filter by payment ID. example: eq: - 345678 amount: oneOf: - "$ref": "#/components/schemas/resource_payment/properties/amount" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_payment/properties/amount" eq: "$ref": "#/components/schemas/resource_payment/properties/amount" not_eq: "$ref": "#/components/schemas/resource_payment/properties/amount" not_contain: "$ref": "#/components/schemas/resource_payment/properties/amount" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: 250000 description: Filter by payment amount range. example: eq: 250000 company_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_payment/properties/company_id" eq: "$ref": "#/components/schemas/resource_payment/properties/company_id" contains: "$ref": "#/components/schemas/resource_payment/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_payment/properties/company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: - 234567 - "$ref": "#/components/schemas/resource_payment/properties/company_id" description: Filter by client company (via the associated invoice). example: eq: - 234567 budget_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_payment/properties/budget_id" not_eq: "$ref": "#/components/schemas/resource_payment/properties/budget_id" contains: "$ref": "#/components/schemas/resource_payment/properties/budget_id" eq: "$ref": "#/components/schemas/resource_payment/properties/budget_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: - 456789 - "$ref": "#/components/schemas/resource_payment/properties/budget_id" description: Filter by the associated budget or deal. example: eq: - 456789 paid_before: oneOf: - "$ref": "#/components/schemas/resource_payment/properties/paid_before" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_payment/properties/paid_before" eq: "$ref": "#/components/schemas/resource_payment/properties/paid_before" contains: "$ref": "#/components/schemas/resource_payment/properties/paid_before" not_contain: "$ref": "#/components/schemas/resource_payment/properties/paid_before" description: Filter using explicit operator syntax. example: eq: '2026-03-31' description: Filter payments made on or before this date (`paid_on`). example: eq: '2026-03-31' invoice_id: oneOf: - "$ref": "#/components/schemas/resource_payment/properties/invoice_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" not_eq: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" not_contain: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" contains: "$ref": "#/components/schemas/resource_payment/properties/invoice_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: - 789012 description: Filter by the associated invoice. example: eq: - 789012 patternProperties: "^invoice..*$": title: Invoice relationship description: Available filter parameters for querying payments. example: id: eq: - 345678 filter_company_report: type: object title: Filter company report properties: jump_query: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/jump_query" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_company_report/properties/jump_query" eq: "$ref": "#/components/schemas/resource_company_report/properties/jump_query" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/jump_query" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/jump_query" description: Filter operator object for jump query. example: eq: value description: Filter company report results by jump query. example: eq: value due_days: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_company_report/properties/due_days" contains: "$ref": "#/components/schemas/resource_company_report/properties/due_days" eq: "$ref": "#/components/schemas/resource_company_report/properties/due_days" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/due_days" description: Filter operator object for due days. example: eq: value - "$ref": "#/components/schemas/resource_company_report/properties/due_days" description: Filter company report results by due days. example: eq: value archived_at: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_company_report/properties/archived_at" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/archived_at" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/archived_at" eq: "$ref": "#/components/schemas/resource_company_report/properties/archived_at" description: Filter operators for archived_at using date matching conditions. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_company_report/properties/archived_at" description: Filter by archive date range (`archived_at`). example: gt: '2026-01-01' name: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company_report/properties/name" contains: "$ref": "#/components/schemas/resource_company_report/properties/name" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/name" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/name" description: Filter operator object for name. example: eq: value - "$ref": "#/components/schemas/resource_company_report/properties/name" description: Filter company report results by name. example: eq: value project_id: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/project_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_company_report/properties/project_id" contains: "$ref": "#/components/schemas/resource_company_report/properties/project_id" eq: "$ref": "#/components/schemas/resource_company_report/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/project_id" description: Filter operator object for project id. example: - 123 description: Filter company report results by project id. example: - 123 payment_terms: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_company_report/properties/payment_terms" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/payment_terms" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/payment_terms" eq: "$ref": "#/components/schemas/resource_company_report/properties/payment_terms" description: Filter operator object for payment terms. example: eq: value - "$ref": "#/components/schemas/resource_company_report/properties/payment_terms" description: Filter company report results by payment terms. example: eq: value default_tax_rate_id: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/default_tax_rate_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_company_report/properties/default_tax_rate_id" eq: "$ref": "#/components/schemas/resource_company_report/properties/default_tax_rate_id" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/default_tax_rate_id" contains: "$ref": "#/components/schemas/resource_company_report/properties/default_tax_rate_id" description: Filter operator object for default tax rate id. example: - 123 description: Filter company report results by default tax rate id. example: - 123 vat: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company_report/properties/vat" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/vat" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/vat" contains: "$ref": "#/components/schemas/resource_company_report/properties/vat" description: Filter operator object for vat. example: eq: value - "$ref": "#/components/schemas/resource_company_report/properties/vat" description: Filter company report results by vat. example: eq: value tags: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/tags" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_company_report/properties/tags" contains: "$ref": "#/components/schemas/resource_company_report/properties/tags" eq: "$ref": "#/components/schemas/resource_company_report/properties/tags" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/tags" description: Filter operators for tags using string matching conditions. example: eq: value description: Filter by tag. example: eq: value default_subsidiary_id: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/default_subsidiary_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_company_report/properties/default_subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/default_subsidiary_id" eq: "$ref": "#/components/schemas/resource_company_report/properties/default_subsidiary_id" contains: "$ref": "#/components/schemas/resource_company_report/properties/default_subsidiary_id" description: Filter operator object for default subsidiary id. example: - 123 description: Filter company report results by default subsidiary id. example: - 123 default_currency: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_company_report/properties/default_currency" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/default_currency" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/default_currency" eq: "$ref": "#/components/schemas/resource_company_report/properties/default_currency" description: Filter operator object for default currency. example: eq: value - "$ref": "#/components/schemas/resource_company_report/properties/default_currency" description: Filter company report results by default currency. example: eq: value query: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_company_report/properties/query" contains: "$ref": "#/components/schemas/resource_company_report/properties/query" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/query" eq: "$ref": "#/components/schemas/resource_company_report/properties/query" description: Filter operator object for query. example: eq: value - "$ref": "#/components/schemas/resource_company_report/properties/query" description: Filter company report results by query. example: eq: value billing_name: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_company_report/properties/billing_name" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/billing_name" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/billing_name" eq: "$ref": "#/components/schemas/resource_company_report/properties/billing_name" description: Filter operators for billing_name using string matching conditions. example: eq: value - "$ref": "#/components/schemas/resource_company_report/properties/billing_name" description: Filter by the company's full billing name. example: eq: value parent_company_id: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/parent_company_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_company_report/properties/parent_company_id" eq: "$ref": "#/components/schemas/resource_company_report/properties/parent_company_id" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/parent_company_id" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/parent_company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the parent company of the company. example: - 123 custom_fields: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/custom_fields" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_company_report/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_company_report/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_company_report/properties/custom_fields" description: Filter operators for custom_fields using string matching conditions. example: eq: value description: Filter by custom field values. example: eq: value last_activity_at: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/last_activity_at" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_company_report/properties/last_activity_at" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/last_activity_at" eq: "$ref": "#/components/schemas/resource_company_report/properties/last_activity_at" contains: "$ref": "#/components/schemas/resource_company_report/properties/last_activity_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by last activity date range (`last_activity_at`). example: gt: '2026-01-01' company_code: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company_report/properties/company_code" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/company_code" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/company_code" contains: "$ref": "#/components/schemas/resource_company_report/properties/company_code" description: Filter operators for company_code using string matching conditions. example: eq: value - "$ref": "#/components/schemas/resource_company_report/properties/company_code" description: Filter by the company's unique company code. example: eq: value company_id: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/company_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_company_report/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/company_id" contains: "$ref": "#/components/schemas/resource_company_report/properties/company_id" eq: "$ref": "#/components/schemas/resource_company_report/properties/company_id" description: Filter operators for company_id using ID matching conditions. example: - 123 description: Filter by client company. example: - 123 subscriber_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_company_report/properties/subscriber_id" eq: "$ref": "#/components/schemas/resource_company_report/properties/subscriber_id" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/subscriber_id" contains: "$ref": "#/components/schemas/resource_company_report/properties/subscriber_id" description: Filter operator object for subscriber id. example: - 123 - "$ref": "#/components/schemas/resource_company_report/properties/subscriber_id" description: Filter company report results by subscriber id. example: - 123 has_parent_company: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_company_report/properties/has_parent_company" eq: "$ref": "#/components/schemas/resource_company_report/properties/has_parent_company" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/has_parent_company" contains: "$ref": "#/components/schemas/resource_company_report/properties/has_parent_company" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_company_report/properties/has_parent_company" description: Filter by whether the company has a parent company assigned. example: eq: value status: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_company_report/properties/status" eq: "$ref": "#/components/schemas/resource_company_report/properties/status" contains: "$ref": "#/components/schemas/resource_company_report/properties/status" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/status" description: Filter operator object for status. example: eq: active - "$ref": "#/components/schemas/resource_company_report/properties/status" description: Filter company report results by status. example: eq: active fuzzy_dates: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company_report/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/fuzzy_dates" contains: "$ref": "#/components/schemas/resource_company_report/properties/fuzzy_dates" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/fuzzy_dates" description: Filter operator object for fuzzy dates. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_company_report/properties/fuzzy_dates" description: Filter company report results by fuzzy dates. example: gt: '2026-01-01' fuzzy_people: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/fuzzy_people" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_company_report/properties/fuzzy_people" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/fuzzy_people" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/fuzzy_people" eq: "$ref": "#/components/schemas/resource_company_report/properties/fuzzy_people" description: Filter operator object for fuzzy people. example: eq: value description: Filter company report results by fuzzy people. example: eq: value exclude_company_and_children: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_company_report/properties/exclude_company_and_children" contains: "$ref": "#/components/schemas/resource_company_report/properties/exclude_company_and_children" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/exclude_company_and_children" eq: "$ref": "#/components/schemas/resource_company_report/properties/exclude_company_and_children" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_company_report/properties/exclude_company_and_children" description: Filter by excluding a company and all its subsidiaries from results. example: eq: value id: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_company_report/properties/id" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/id" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/id" contains: "$ref": "#/components/schemas/resource_company_report/properties/id" description: Filter operator object for id. example: - 123 description: Filter company report results by id. example: - 123 subsidiary_id: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/subsidiary_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_company_report/properties/subsidiary_id" eq: "$ref": "#/components/schemas/resource_company_report/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_company_report/properties/subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/subsidiary_id" description: Filter operator object for subsidiary id. example: - 123 description: Filter company report results by subsidiary id. example: - 123 created_at: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/created_at" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_company_report/properties/created_at" contains: "$ref": "#/components/schemas/resource_company_report/properties/created_at" eq: "$ref": "#/components/schemas/resource_company_report/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_company_report/properties/created_at" description: Filter operators for created_at using date matching conditions. example: gt: '2026-01-01' description: Filter by creation date range (`created_at`). example: gt: '2026-01-01' full_query: oneOf: - "$ref": "#/components/schemas/resource_company_report/properties/full_query" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_company_report/properties/full_query" eq: "$ref": "#/components/schemas/resource_company_report/properties/full_query" not_contain: "$ref": "#/components/schemas/resource_company_report/properties/full_query" contains: "$ref": "#/components/schemas/resource_company_report/properties/full_query" description: Filter operator object for full query. example: eq: value description: Filter company report results by full query. example: eq: value patternProperties: "^contact..*$": title: Contact relationship "^subsidiary..*$": title: Subsidiary relationship "^parent_company..*$": title: Parent company relationship "^default_subsidiary..*$": title: Default subsidiary relationship description: Available filter parameters for querying aggregated company report data. example: id: eq: '123' resource_time_entry_version: type: object title: Time entry version Resource properties: item_type: type: string title: Item Type description: The resource type of the versioned item, always TimeEntry. example: eq: active id: type: integer title: Id description: The unique identifier of this time entry version record. example: - 123 changeset: title: Changeset description: A map of field names to before/after values representing changes made to the time entry in this version. example: eq: value object_changes: type: object title: Object Changes description: The field-level changes recorded in this version as a map of field names to before and after values. example: eq: value item_id: type: integer title: Item description: The ID of the time entry this version record belongs to. example: - 123 time_entry_id: type: integer title: Time Entry description: The ID of the time entry this version record belongs to. example: - 123 creator: title: Creator description: The person who made the change that created this version. example: eq: value item_name: title: Item Name description: The display name of the time entry at the time of this version (e.g., the service or task name). example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when this version record was created. example: gt: '2026-01-01' organization: title: Organization description: The organization this time entry version belongs to. example: eq: value event: type: string title: Event description: The type of change event recorded by this version (e.g. create, update, destroy). example: eq: value service: title: Service description: The service the time entry was logged against at the time of this version. example: eq: value creator_id: type: integer title: Creator description: ID of the person who made the change that created this version. example: - 123 description: The resource time entry version. example: id: '123' type: time_entry_versions attributes: changed_at: '2026-01-15T10:00:00Z' changes: {} time_entry_id: 789 relationships: {} _filter_root_time_tracking_policy: oneOf: - "$ref": "#/components/schemas/filter_time_tracking_policy" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_time_tracking_policy" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `time_tracking_policy` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_tag: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_tag" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_tag" description: Filter schema for `tag` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_project_report: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_project_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_project_report" description: Filter schema for `project_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_expense: type: object title: Filter expense properties: custom_fields: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/custom_fields" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_expense/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_expense/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_expense/properties/custom_fields" description: Filter operator object for custom_fields. example: eq: value description: Filter expenses by custom field values. example: eq: value company_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/company_id" contains: "$ref": "#/components/schemas/resource_expense/properties/company_id" description: Filter operator object for company_id. example: - 123 - "$ref": "#/components/schemas/resource_expense/properties/company_id" description: Filter expenses by client company ID. example: - 123 jump_query: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/jump_query" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/jump_query" not_contain: "$ref": "#/components/schemas/resource_expense/properties/jump_query" eq: "$ref": "#/components/schemas/resource_expense/properties/jump_query" contains: "$ref": "#/components/schemas/resource_expense/properties/jump_query" description: Filter operator object for jump_query. example: eq: value description: Jump search query for quick expense lookup. example: eq: value billable_amount: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense/properties/billable_amount" eq: "$ref": "#/components/schemas/resource_expense/properties/billable_amount" not_eq: "$ref": "#/components/schemas/resource_expense/properties/billable_amount" not_contain: "$ref": "#/components/schemas/resource_expense/properties/billable_amount" description: Filter operator object for billable_amount. example: gt: 0 - "$ref": "#/components/schemas/resource_expense/properties/billable_amount" description: Filter expenses by billable amount. example: gt: 0 id: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/id" eq: "$ref": "#/components/schemas/resource_expense/properties/id" contains: "$ref": "#/components/schemas/resource_expense/properties/id" description: Filter operator object for id. example: - 123 description: Filter expenses by ID. example: - 123 amount_with_tax: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/amount_with_tax" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/amount_with_tax" not_eq: "$ref": "#/components/schemas/resource_expense/properties/amount_with_tax" contains: "$ref": "#/components/schemas/resource_expense/properties/amount_with_tax" eq: "$ref": "#/components/schemas/resource_expense/properties/amount_with_tax" description: Filter operator object for amount_with_tax. example: gt: 0 description: Filter expenses by unit amount including tax. example: gt: 0 pay_on_after: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/pay_on_after" contains: "$ref": "#/components/schemas/resource_expense/properties/pay_on_after" not_eq: "$ref": "#/components/schemas/resource_expense/properties/pay_on_after" not_contain: "$ref": "#/components/schemas/resource_expense/properties/pay_on_after" description: Filter operator object for pay_on_after. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/pay_on_after" description: Filter expenses with payment due after this date. example: eq: value designated_approver_id: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/designated_approver_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/designated_approver_id" contains: "$ref": "#/components/schemas/resource_expense/properties/designated_approver_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/designated_approver_id" eq: "$ref": "#/components/schemas/resource_expense/properties/designated_approver_id" description: Object form with operator key (eq, not_eq, contains, not_contain). example: - 123 description: Filter by the designated approver person ID set on the budget the expense belongs to. example: - 123 updated_at: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/updated_at" not_eq: "$ref": "#/components/schemas/resource_expense/properties/updated_at" contains: "$ref": "#/components/schemas/resource_expense/properties/updated_at" not_contain: "$ref": "#/components/schemas/resource_expense/properties/updated_at" - "$ref": "#/components/schemas/resource_expense/properties/updated_at" pay_on_before: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/pay_on_before" contains: "$ref": "#/components/schemas/resource_expense/properties/pay_on_before" not_contain: "$ref": "#/components/schemas/resource_expense/properties/pay_on_before" not_eq: "$ref": "#/components/schemas/resource_expense/properties/pay_on_before" description: Filter operator object for pay_on_before. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/pay_on_before" description: Filter expenses with payment due before this date. example: eq: value responsible_id: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/responsible_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/responsible_id" contains: "$ref": "#/components/schemas/resource_expense/properties/responsible_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/responsible_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/responsible_id" description: Filter operator object for responsible_id. example: - 123 description: Filter expenses by responsible person ID. example: - 123 paid_on: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/paid_on" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/paid_on" contains: "$ref": "#/components/schemas/resource_expense/properties/paid_on" eq: "$ref": "#/components/schemas/resource_expense/properties/paid_on" not_contain: "$ref": "#/components/schemas/resource_expense/properties/paid_on" description: Filter operator object for paid_on. example: eq: value description: Filter expenses by paid_on date. example: eq: value recognized_revenue: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/recognized_revenue" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/recognized_revenue" not_contain: "$ref": "#/components/schemas/resource_expense/properties/recognized_revenue" contains: "$ref": "#/components/schemas/resource_expense/properties/recognized_revenue" eq: "$ref": "#/components/schemas/resource_expense/properties/recognized_revenue" description: Filter operator object for recognized_revenue. example: eq: value description: Filter expenses by recognized revenue. example: eq: value approver_id: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/approver_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense/properties/approver_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/approver_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/approver_id" eq: "$ref": "#/components/schemas/resource_expense/properties/approver_id" description: Filter operator object for approver_id. example: - 123 description: Filter expenses by approver ID. example: - 123 fuzzy_people: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense/properties/fuzzy_people" not_eq: "$ref": "#/components/schemas/resource_expense/properties/fuzzy_people" not_contain: "$ref": "#/components/schemas/resource_expense/properties/fuzzy_people" eq: "$ref": "#/components/schemas/resource_expense/properties/fuzzy_people" description: Filter operator object for fuzzy_people. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/fuzzy_people" description: Filter expenses by fuzzy people match. example: eq: value stage_type: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/stage_type" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/stage_type" contains: "$ref": "#/components/schemas/resource_expense/properties/stage_type" not_contain: "$ref": "#/components/schemas/resource_expense/properties/stage_type" eq: "$ref": "#/components/schemas/resource_expense/properties/stage_type" description: Filter operator object for stage_type. example: eq: active description: Filter expenses by budget stage type. example: eq: active quote_type: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/quote_type" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/quote_type" not_eq: "$ref": "#/components/schemas/resource_expense/properties/quote_type" contains: "$ref": "#/components/schemas/resource_expense/properties/quote_type" not_contain: "$ref": "#/components/schemas/resource_expense/properties/quote_type" description: Filter operator object for quote_type. example: eq: active description: Filter expenses by quote type. example: eq: active purchase_order_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/purchase_order_id" contains: "$ref": "#/components/schemas/resource_expense/properties/purchase_order_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/purchase_order_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/purchase_order_id" description: Filter operator object for purchase_order_id. example: eq: - 1234567 - "$ref": "#/components/schemas/resource_expense/properties/purchase_order_id" description: Filter expenses by purchase order ID. example: eq: - 1234567 full_query: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/full_query" eq: "$ref": "#/components/schemas/resource_expense/properties/full_query" not_contain: "$ref": "#/components/schemas/resource_expense/properties/full_query" contains: "$ref": "#/components/schemas/resource_expense/properties/full_query" description: Filter operator object for full_query. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/full_query" description: Full-text search query across expense fields. example: eq: value date_after: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/date_after" not_eq: "$ref": "#/components/schemas/resource_expense/properties/date_after" contains: "$ref": "#/components/schemas/resource_expense/properties/date_after" eq: "$ref": "#/components/schemas/resource_expense/properties/date_after" description: Filter operator object for date_after. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/date_after" description: Filter expenses incurred after this date. example: eq: value status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense/properties/status" not_contain: "$ref": "#/components/schemas/resource_expense/properties/status" eq: "$ref": "#/components/schemas/resource_expense/properties/status" not_eq: "$ref": "#/components/schemas/resource_expense/properties/status" description: Filter operator object for status. example: eq: active - "$ref": "#/components/schemas/resource_expense/properties/status" description: Filter expenses by approval status. example: eq: active section_name: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/section_name" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/section_name" not_eq: "$ref": "#/components/schemas/resource_expense/properties/section_name" not_contain: "$ref": "#/components/schemas/resource_expense/properties/section_name" contains: "$ref": "#/components/schemas/resource_expense/properties/section_name" description: Filter operator object for section_name. example: eq: value description: Filter expenses by section name. example: eq: value reimbursement: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/reimbursement" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense/properties/reimbursement" not_contain: "$ref": "#/components/schemas/resource_expense/properties/reimbursement" not_eq: "$ref": "#/components/schemas/resource_expense/properties/reimbursement" eq: "$ref": "#/components/schemas/resource_expense/properties/reimbursement" description: Filter operator object for reimbursement. example: eq: value description: Filter expenses by reimbursement status. example: eq: value service_type_id: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/service_type_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/service_type_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/service_type_id" eq: "$ref": "#/components/schemas/resource_expense/properties/service_type_id" contains: "$ref": "#/components/schemas/resource_expense/properties/service_type_id" description: Filter operator object for service_type_id. example: - 123 description: Filter expenses by service type ID. example: - 123 project_id: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/project_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/project_id" eq: "$ref": "#/components/schemas/resource_expense/properties/project_id" description: Filter operator object for project_id. example: - 123 description: Filter expenses by project ID. example: - 123 assigned_approver_id: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/assigned_approver_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/assigned_approver_id" contains: "$ref": "#/components/schemas/resource_expense/properties/assigned_approver_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/assigned_approver_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/assigned_approver_id" description: Filter operator object for assigned_approver_id. example: - 123 description: Filter expenses by assigned approver ID. example: - 123 tax_rate_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/tax_rate_id" eq: "$ref": "#/components/schemas/resource_expense/properties/tax_rate_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/tax_rate_id" contains: "$ref": "#/components/schemas/resource_expense/properties/tax_rate_id" description: Filter operator object for tax_rate_id. example: - 123 - "$ref": "#/components/schemas/resource_expense/properties/tax_rate_id" description: Filter expenses by tax rate ID. example: - 123 invoice_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/invoice_id" contains: "$ref": "#/components/schemas/resource_expense/properties/invoice_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/invoice_id" eq: "$ref": "#/components/schemas/resource_expense/properties/invoice_id" description: Filter operator object for invoice_id. example: - 123 - "$ref": "#/components/schemas/resource_expense/properties/invoice_id" description: Filter expenses by invoice ID. example: - 123 query: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/query" contains: "$ref": "#/components/schemas/resource_expense/properties/query" not_eq: "$ref": "#/components/schemas/resource_expense/properties/query" not_contain: "$ref": "#/components/schemas/resource_expense/properties/query" description: Filter operator object for query. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/query" description: Text search query matching expense names. example: eq: value paid_on_after: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense/properties/paid_on_after" not_contain: "$ref": "#/components/schemas/resource_expense/properties/paid_on_after" eq: "$ref": "#/components/schemas/resource_expense/properties/paid_on_after" not_eq: "$ref": "#/components/schemas/resource_expense/properties/paid_on_after" description: Filter operator object for paid_on_after. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/paid_on_after" description: Filter expenses paid after this date. example: eq: value export_status: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/export_status" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense/properties/export_status" eq: "$ref": "#/components/schemas/resource_expense/properties/export_status" not_eq: "$ref": "#/components/schemas/resource_expense/properties/export_status" not_contain: "$ref": "#/components/schemas/resource_expense/properties/export_status" description: Filter operator object for export_status. example: eq: active description: Filter expenses by export status. example: eq: active reimbursed_on: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/reimbursed_on" not_contain: "$ref": "#/components/schemas/resource_expense/properties/reimbursed_on" contains: "$ref": "#/components/schemas/resource_expense/properties/reimbursed_on" eq: "$ref": "#/components/schemas/resource_expense/properties/reimbursed_on" description: Filter operator object for reimbursed_on. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/reimbursed_on" description: Filter expenses by reimbursed_on date. example: eq: value approval_status: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/approval_status" not_eq: "$ref": "#/components/schemas/resource_expense/properties/approval_status" contains: "$ref": "#/components/schemas/resource_expense/properties/approval_status" not_contain: "$ref": "#/components/schemas/resource_expense/properties/approval_status" description: Filter operator object for approval_status. example: eq: active - "$ref": "#/components/schemas/resource_expense/properties/approval_status" description: Filter expenses by approval status. example: eq: active profit: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/profit" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense/properties/profit" not_eq: "$ref": "#/components/schemas/resource_expense/properties/profit" not_contain: "$ref": "#/components/schemas/resource_expense/properties/profit" eq: "$ref": "#/components/schemas/resource_expense/properties/profit" description: Filter operator object for profit. example: eq: value description: Filter expenses by profit. example: eq: value with_draft: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/with_draft" not_eq: "$ref": "#/components/schemas/resource_expense/properties/with_draft" contains: "$ref": "#/components/schemas/resource_expense/properties/with_draft" eq: "$ref": "#/components/schemas/resource_expense/properties/with_draft" description: Filter operator object for with_draft. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/with_draft" description: Filter expenses by whether drafts are included. example: eq: value currency: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/currency" eq: "$ref": "#/components/schemas/resource_expense/properties/currency" contains: "$ref": "#/components/schemas/resource_expense/properties/currency" not_contain: "$ref": "#/components/schemas/resource_expense/properties/currency" description: Filter operator object for currency. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/currency" description: Filter expenses by currency code. example: eq: value updater_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/updater_id" eq: "$ref": "#/components/schemas/resource_expense/properties/updater_id" contains: "$ref": "#/components/schemas/resource_expense/properties/updater_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/updater_id" - "$ref": "#/components/schemas/resource_expense/properties/updater_id" paid_on_before: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/paid_on_before" not_contain: "$ref": "#/components/schemas/resource_expense/properties/paid_on_before" contains: "$ref": "#/components/schemas/resource_expense/properties/paid_on_before" eq: "$ref": "#/components/schemas/resource_expense/properties/paid_on_before" description: Filter operator object for paid_on_before. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/paid_on_before" description: Filter expenses paid before this date. example: eq: value created_at: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_expense/properties/created_at" contains: "$ref": "#/components/schemas/resource_expense/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_expense/properties/created_at" description: Filter operator object for created_at. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_expense/properties/created_at" description: Filter expenses by creation date. example: gt: '2026-01-01' approved_at: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/approved_at" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/approved_at" contains: "$ref": "#/components/schemas/resource_expense/properties/approved_at" not_eq: "$ref": "#/components/schemas/resource_expense/properties/approved_at" not_contain: "$ref": "#/components/schemas/resource_expense/properties/approved_at" description: Object form with operator key (eq, not_eq, contains, not_contain). example: gt: '2026-01-01' description: Filter by the date the expense was approved (`approved_at`). example: gt: '2026-01-01' invoicing_status: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/invoicing_status" not_contain: "$ref": "#/components/schemas/resource_expense/properties/invoicing_status" not_eq: "$ref": "#/components/schemas/resource_expense/properties/invoicing_status" contains: "$ref": "#/components/schemas/resource_expense/properties/invoicing_status" description: Filter operator object for invoicing_status. example: eq: active - "$ref": "#/components/schemas/resource_expense/properties/invoicing_status" description: Filter expenses by invoicing status. example: eq: active service_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/service_id" contains: "$ref": "#/components/schemas/resource_expense/properties/service_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/service_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/service_id" description: Filter operator object for service_id. example: - 123 - "$ref": "#/components/schemas/resource_expense/properties/service_id" description: Filter expenses by service ID. example: - 123 invoiced: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/invoiced" contains: "$ref": "#/components/schemas/resource_expense/properties/invoiced" eq: "$ref": "#/components/schemas/resource_expense/properties/invoiced" not_eq: "$ref": "#/components/schemas/resource_expense/properties/invoiced" description: Filter operator object for invoiced. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/invoiced" description: Filter expenses by invoiced status. example: eq: value date_before: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/date_before" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/date_before" contains: "$ref": "#/components/schemas/resource_expense/properties/date_before" not_contain: "$ref": "#/components/schemas/resource_expense/properties/date_before" eq: "$ref": "#/components/schemas/resource_expense/properties/date_before" description: Filter operator object for date_before. example: eq: value description: Filter expenses incurred before this date. example: eq: value deal_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/deal_id" contains: "$ref": "#/components/schemas/resource_expense/properties/deal_id" eq: "$ref": "#/components/schemas/resource_expense/properties/deal_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/deal_id" description: Filter operator object for deal_id. example: - 123 - "$ref": "#/components/schemas/resource_expense/properties/deal_id" description: Filter expenses by budget or deal ID. example: - 123 quantity: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/quantity" contains: "$ref": "#/components/schemas/resource_expense/properties/quantity" not_contain: "$ref": "#/components/schemas/resource_expense/properties/quantity" not_eq: "$ref": "#/components/schemas/resource_expense/properties/quantity" description: Filter operator object for quantity. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/quantity" description: Filter expenses by quantity. example: eq: value person_id: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/person_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/person_id" contains: "$ref": "#/components/schemas/resource_expense/properties/person_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/person_id" eq: "$ref": "#/components/schemas/resource_expense/properties/person_id" description: Filter operator object for person_id. example: - 123 description: Filter expenses by person ID. example: - 123 fuzzy_dates: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/fuzzy_dates" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/fuzzy_dates" eq: "$ref": "#/components/schemas/resource_expense/properties/fuzzy_dates" description: Filter operator object for fuzzy_dates. example: gt: '2026-01-01' description: Filter expenses by fuzzy date range. example: gt: '2026-01-01' allocation_status: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/allocation_status" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/allocation_status" not_eq: "$ref": "#/components/schemas/resource_expense/properties/allocation_status" contains: "$ref": "#/components/schemas/resource_expense/properties/allocation_status" eq: "$ref": "#/components/schemas/resource_expense/properties/allocation_status" description: Object form with operator key (eq, not_eq, contains, not_contain). example: eq: active description: Filter by whether the expense is allocated to a service (allocated) or not linked to any service (unallocated). example: eq: active draft: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/draft" eq: "$ref": "#/components/schemas/resource_expense/properties/draft" contains: "$ref": "#/components/schemas/resource_expense/properties/draft" not_eq: "$ref": "#/components/schemas/resource_expense/properties/draft" description: Filter operator object for draft. example: eq: value - "$ref": "#/components/schemas/resource_expense/properties/draft" description: Filter expenses by draft status. example: eq: value pay_on: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/pay_on" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/pay_on" eq: "$ref": "#/components/schemas/resource_expense/properties/pay_on" not_contain: "$ref": "#/components/schemas/resource_expense/properties/pay_on" contains: "$ref": "#/components/schemas/resource_expense/properties/pay_on" description: Filter operator object for pay_on. example: eq: value description: Filter expenses by payment due date. example: eq: value date: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/date" eq: "$ref": "#/components/schemas/resource_expense/properties/date" contains: "$ref": "#/components/schemas/resource_expense/properties/date" not_contain: "$ref": "#/components/schemas/resource_expense/properties/date" description: Filter operator object for date. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_expense/properties/date" description: Filter expenses by incurred date. example: gt: '2026-01-01' amount: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/amount" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/amount" not_eq: "$ref": "#/components/schemas/resource_expense/properties/amount" eq: "$ref": "#/components/schemas/resource_expense/properties/amount" contains: "$ref": "#/components/schemas/resource_expense/properties/amount" description: Filter operator object for amount. example: gt: 0 description: Filter expenses by unit amount. example: gt: 0 creator_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/creator_id" eq: "$ref": "#/components/schemas/resource_expense/properties/creator_id" contains: "$ref": "#/components/schemas/resource_expense/properties/creator_id" description: Filter operator object for creator_id. example: - 123 - "$ref": "#/components/schemas/resource_expense/properties/creator_id" description: Filter expenses by creator ID. example: - 123 vendor_id: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/vendor_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense/properties/vendor_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/vendor_id" contains: "$ref": "#/components/schemas/resource_expense/properties/vendor_id" eq: "$ref": "#/components/schemas/resource_expense/properties/vendor_id" description: Filter operator object for vendor_id. example: - 123 description: Filter expenses by vendor ID. example: - 123 name: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/name" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/name" contains: "$ref": "#/components/schemas/resource_expense/properties/name" not_contain: "$ref": "#/components/schemas/resource_expense/properties/name" not_eq: "$ref": "#/components/schemas/resource_expense/properties/name" description: Filter operator object for name. example: eq: value description: Filter expenses by name. example: eq: value awaiting_approval_from_approver_id: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/awaiting_approval_from_approver_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense/properties/awaiting_approval_from_approver_id" contains: "$ref": "#/components/schemas/resource_expense/properties/awaiting_approval_from_approver_id" not_eq: "$ref": "#/components/schemas/resource_expense/properties/awaiting_approval_from_approver_id" not_contain: "$ref": "#/components/schemas/resource_expense/properties/awaiting_approval_from_approver_id" description: Filter operator object for awaiting_approval_from_approver_id. example: - 123 description: Filter expenses by the approver they are awaiting approval from. example: - 123 reimbursable: oneOf: - "$ref": "#/components/schemas/resource_expense/properties/reimbursable" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense/properties/reimbursable" contains: "$ref": "#/components/schemas/resource_expense/properties/reimbursable" not_contain: "$ref": "#/components/schemas/resource_expense/properties/reimbursable" eq: "$ref": "#/components/schemas/resource_expense/properties/reimbursable" description: Filter operator object for reimbursable. example: eq: value description: Filter expenses by reimbursable status. example: eq: value patternProperties: "^deal..*$": title: Deal relationship "^budget..*$": title: Budget relationship "^person..*$": title: Person relationship "^vendor..*$": title: Vendor relationship "^approver..*$": title: Approver relationship "^service_type..*$": title: Service type relationship "^purchase_order..*$": title: Purchase order relationship description: Available filter parameters for querying expenses. example: id: eq: '123' _filter_root_deal_report: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_deal_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_deal_report" description: Filter schema for `deal_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_board: type: object title: Board Resource properties: position: type: integer title: Position description: The display order position of this folder within its project. example: eq: value query: type: string title: Query description: A saved filter query string applied to this folder view. example: eq: value organization: title: Organization description: The organization this folder belongs to. example: eq: value id: type: integer title: Id description: Unique identifier for the folder. example: - 123 name: type: string title: Name description: The display name of the folder. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: The current status of the folder (e.g. active or archived). example: eq: active placement: type: integer title: Placement description: Indicates the folder's placement context (e.g. project or global). example: eq: value archived_at: type: string title: Archived At format: date-time description: Timestamp when the folder was archived, or null if active. example: gt: '2026-01-01' project: title: Project description: The project this folder belongs to. example: eq: value project_id: type: integer title: Project description: The ID of the project this folder belongs to. example: - 123 hidden: type: boolean title: Hidden description: When true, this folder is hidden from members who do not have explicit access. example: eq: value description: Folder (called Board internally) grouping task lists within a project. Supports name, position ordering, placement (top or bottom), archiving, and hidden visibility. Used to organize task lists into phases or sprints. example: id: '5522' type: boards attributes: name: Features position: 3 placement: 1030000 archived_at: hidden: false relationships: organization: data: type: organizations id: '109' project: meta: included: false resource_survey_field_option: type: object title: Survey field option Resource properties: archived_at: type: string title: Archived At format: date-time description: Timestamp when this option was archived, or null if not archived. example: gt: '2026-01-01' organization: title: Organization description: The organization this option belongs to. example: eq: value name: type: string title: Name description: The display label for this answer option. example: eq: value custom_field_id: type: integer title: Custom Field description: ID of the survey field this option belongs to. example: - 123 position: type: integer title: Position description: The display order position of this option within the survey field. example: eq: value color_id: type: integer title: Color description: ID of the color associated with this option. example: - 123 survey_field: title: Survey Field description: The survey field this option belongs to. example: eq: value archived: type: boolean title: Archived description: Whether this option has been archived. example: true survey_field_id: type: integer title: Survey Field description: ID of the survey field this option belongs to. example: - 123 description: Selectable option for a dropdown or multi-select survey field. Has a label and position for ordering. example: id: '123' type: survey_field_options attributes: label: Very Satisfied value: '5' position: 1 relationships: {} filter_timesheet: type: object title: Filter timesheet properties: date: oneOf: - "$ref": "#/components/schemas/resource_timesheet/properties/date" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_timesheet/properties/date" not_contain: "$ref": "#/components/schemas/resource_timesheet/properties/date" eq: "$ref": "#/components/schemas/resource_timesheet/properties/date" contains: "$ref": "#/components/schemas/resource_timesheet/properties/date" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter by the timesheet date. example: gt: '2026-01-01' person_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_timesheet/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_timesheet/properties/person_id" not_contain: "$ref": "#/components/schemas/resource_timesheet/properties/person_id" eq: "$ref": "#/components/schemas/resource_timesheet/properties/person_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_timesheet/properties/person_id" description: Filter by the associated person. example: - 123 creator_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_timesheet/properties/creator_id" contains: "$ref": "#/components/schemas/resource_timesheet/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_timesheet/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_timesheet/properties/creator_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_timesheet/properties/creator_id" description: Filter by the person who created the timesheet. example: - 123 patternProperties: "^person..*$": title: Person relationship "^creator..*$": title: Creator relationship description: Filter parameters for listing timesheet resources, which group a person's time entries for a given week for approval. example: id: eq: '123' resource_task_list: type: object title: Task list Resource properties: project_name: type: string title: Project Name description: The name of the project this task list belongs to. example: eq: value archived_at: type: string title: Archived At format: date-time description: Timestamp when this task list was archived, or null if active. example: gt: '2026-01-01' company_name: type: string title: Company Name description: The name of the client company associated with the project this task list belongs to. example: eq: value name: type: string title: Name description: The name of this task list. example: eq: value project_id: type: integer title: Project description: ID of the project this task list belongs to. example: - 123 folder: title: Folder description: The folder this task list belongs to. example: eq: value placement: type: integer title: Placement description: The display placement position of this task list within its folder. example: eq: value email_key: type: string title: Email Key description: A unique key used to create tasks in this task list via email. example: eq: value id: type: integer title: Id description: The unique identifier of this task list. example: - 123 folder_id: type: integer title: Folder description: ID of the folder this task list belongs to. example: - 123 query: type: string title: Query description: A search query string used to filter task lists by name. example: eq: value restorable: type: string title: Restorable description: Whether this task list is restorable (archived while its parent folder is still active). example: eq: value position: type: integer title: Position description: The sort position of this task list within its project. example: eq: value folder_name: type: string title: Folder Name description: The name of the folder this task list belongs to. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: 'The archival status of this task list: active or archived.' example: eq: active project: title: Project description: The project this task list belongs to. example: eq: value organization: title: Organization description: The organization this task list belongs to. example: eq: value description: Task grouping within a project folder. Supports name, position ordering, placement, archiving, and an email_key for creating tasks via email. Task lists belong to a project and optionally to a board (folder). example: id: '14308' type: task_lists attributes: name: Sprint 42 position: 1 placement: 1000000 archived_at: email_key: a1b2c3d4e5f6789012345678901234ab relationships: project: data: type: projects id: '6899' board: data: folder: data: type: folders id: '5522' filter_todo: type: object title: Filter todo properties: assignee_id: oneOf: - "$ref": "#/components/schemas/resource_todo/properties/assignee_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_todo/properties/assignee_id" contains: "$ref": "#/components/schemas/resource_todo/properties/assignee_id" eq: "$ref": "#/components/schemas/resource_todo/properties/assignee_id" not_eq: "$ref": "#/components/schemas/resource_todo/properties/assignee_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the assigned person. example: - 123 task_id: oneOf: - "$ref": "#/components/schemas/resource_todo/properties/task_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_todo/properties/task_id" eq: "$ref": "#/components/schemas/resource_todo/properties/task_id" not_contain: "$ref": "#/components/schemas/resource_todo/properties/task_id" contains: "$ref": "#/components/schemas/resource_todo/properties/task_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated task. example: - 123 deal_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_todo/properties/deal_id" contains: "$ref": "#/components/schemas/resource_todo/properties/deal_id" not_contain: "$ref": "#/components/schemas/resource_todo/properties/deal_id" not_eq: "$ref": "#/components/schemas/resource_todo/properties/deal_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_todo/properties/deal_id" description: Filter by the associated deal. example: - 123 due_date: oneOf: - "$ref": "#/components/schemas/resource_todo/properties/due_date" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_todo/properties/due_date" contains: "$ref": "#/components/schemas/resource_todo/properties/due_date" not_eq: "$ref": "#/components/schemas/resource_todo/properties/due_date" not_contain: "$ref": "#/components/schemas/resource_todo/properties/due_date" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter by due date range. example: gt: '2026-01-01' todoable_type: oneOf: - "$ref": "#/components/schemas/resource_todo/properties/todoable_type" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_todo/properties/todoable_type" not_contain: "$ref": "#/components/schemas/resource_todo/properties/todoable_type" eq: "$ref": "#/components/schemas/resource_todo/properties/todoable_type" not_eq: "$ref": "#/components/schemas/resource_todo/properties/todoable_type" description: Filter using explicit operator syntax. example: eq: active description: Filter by the type of parent resource the todo belongs to (task or deal). example: eq: active id: oneOf: - "$ref": "#/components/schemas/resource_todo/properties/id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_todo/properties/id" contains: "$ref": "#/components/schemas/resource_todo/properties/id" not_eq: "$ref": "#/components/schemas/resource_todo/properties/id" not_contain: "$ref": "#/components/schemas/resource_todo/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by todo ID. example: - 123 status: oneOf: - "$ref": "#/components/schemas/resource_todo/properties/status" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_todo/properties/status" contains: "$ref": "#/components/schemas/resource_todo/properties/status" not_eq: "$ref": "#/components/schemas/resource_todo/properties/status" eq: "$ref": "#/components/schemas/resource_todo/properties/status" description: Filter using explicit operator syntax. example: eq: active description: Filter by completion status (open or closed). example: eq: active patternProperties: "^assignee..*$": title: Assignee relationship description: Filter parameters for listing todos (checklist items). Supports filtering by parent resource (task or deal), assignee, completion status, due date, and position. Standard ID and date operators apply. example: task_id: - 54321 resource_organization: type: object title: Organization Resource properties: email_domain_name: title: Email Domain Name description: Custom domain name used for the organization's invoice email sender address. example: eq: value deal_settings: type: object title: Deal Settings description: Deal-level settings for time rounding, including rounding method and interval. example: eq: value decimal_places_id: enum: - 1 - 2 - 3 - 4 type: integer title: Decimal Places description: Number of decimal places used when displaying monetary values. example: - 123 time_locking: type: boolean title: Time Locking description: Whether time locking is enabled, preventing edits to time entries in locked periods. example: gt: 0 sample_data_reverted_at: type: string title: Sample Data Reverted At format: date-time description: Timestamp when sample data was reverted (removed) from the organization. example: gt: '2026-01-01' email_local_name: title: Email Local Name description: Local part (username) of the custom invoice email sender address. example: eq: value time_tracking_policy_id: type: integer title: Time Tracking Policy description: The ID of the active time tracking policy for the organization. example: - 123 exchange_rate_provider_id: enum: - 1 - 2 - 3 - 4 type: integer title: Exchange Rate Provider description: Exchange rate data provider used for multi-currency calculations. example: - 123 autotracking_schedule_id: enum: - 1 - 2 type: integer title: Autotracking Schedule description: ID of the autotracking schedule assigned to this organization for automatic time entry creation. example: - 123 man_day_minutes: type: integer title: Man Day Minutes description: Number of minutes in a man-day, used to convert between hours and days in reports and scheduling. example: eq: value delivered_budget_recognition_date_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 type: integer title: Delivered Budget Recognition Date description: Revenue recognition date rule applied to delivered budgets. example: - 123 company: title: Company description: The client company linked to the organization. example: eq: value working_hours: type: object title: Working Hours description: Default working hours schedule for the organization, defining hours per day of the week. example: eq: value timesheet_submission_reminders: type: boolean title: Timesheet Submission Reminders description: Whether reminder emails are sent for pending timesheet submissions. example: gt: 0 invoice_rounding_method_id: type: integer title: Invoice Rounding Method description: Rounding method applied when generating invoice line item amounts. example: - 123 flags: type: object title: Flags description: Feature flags for the organization, keyed by flag name with boolean values. example: eq: value financial_month_locking_partial_edit: type: boolean title: Financial Month Locking Partial Edit description: Whether partial editing is allowed within a locked financial month. example: eq: value allow_user_email: type: boolean title: Allow User Email description: Whether members can use their personal email address as the sender for invoice emails. example: eq: value currency_default: title: Currency Default description: Default currency code used as the base for monetary values. example: eq: value open_budget_recognition_date_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 type: integer title: Open Budget Recognition Date description: Revenue recognition date rule applied to open (in-progress) budgets. example: - 123 original_avatar_url: title: Original Avatar Url description: URL of the original full-size avatar image for this organization before resizing. example: eq: value force_two_factor_auth: type: boolean title: Force Two Factor Auth description: Whether two-factor authentication is required for all organization members. example: eq: value currency_normalized: title: Currency Normalized description: Normalized currency code used internally. example: eq: value financial_months: title: Financial Months description: List of financial months with their start/end dates and lock status. example: eq: value overhead_recalculation_day: type: integer title: Overhead Recalculation Day description: The day of the month on which overhead costs are recalculated. example: eq: value date_format_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 type: integer title: Date Format description: Date format preference for the organization. Controls how dates are displayed throughout the platform. example: - 123 rounding_interval_id: enum: - 1 - 2 - 3 type: integer title: Rounding Interval description: Time rounding interval applied to time entries (e.g. 15 minutes, 30 minutes). example: - 123 overhead_amortization_period: type: integer title: Overhead Amortization Period description: The number of months over which overhead costs are amortized. example: eq: value time_format_id: enum: - 1 - 2 type: integer title: Time Format description: Time format preference for the organization (e.g. decimal hours vs. HH:MM). example: - 123 onboarding_progress: type: string title: Onboarding Progress description: Tracks the user's progress through the onboarding flow. example: eq: value facility_costs_normalized: title: Facility Costs Normalized description: Facility costs normalized to the base currency. example: eq: value domain_verified: title: Domain Verified description: Whether the custom email domain has been verified for sending invoice emails. example: eq: value numbering_format_settings: type: object title: Numbering Format Settings description: Settings controlling the numbering format for invoices and other financial documents. example: eq: value time_display_id: enum: - 1 - 2 type: integer title: Time Display description: Time display format preference (e.g. 12-hour or 24-hour clock). example: - 123 self_attribution: type: string title: Self Attribution description: How the organization discovered Productive (self-reported attribution). example: gt: '2026-01-01' rounding_method_id: enum: - 1 - 2 - 3 - 4 type: integer title: Rounding Method description: Rounding method applied to time entries (e.g. round up, round down, round to nearest). example: - 123 revenue_recognition_type_id: enum: - 1 - 2 type: integer title: Revenue Recognition Type description: Revenue recognition method used for the organization (e.g. percentage of completion, fixed fee). example: - 123 financial_month_locking_date: type: integer title: Financial Month Locking Date description: Day of the month on which financial months are locked (1–28). example: gt: '2026-01-01' metrics: title: Metrics description: Base64-encoded JSON containing UTM attribution metrics for the organization's acquisition source. example: eq: value request_for_resource_enabled: type: boolean title: Request For Resource Enabled description: Whether the resource request workflow is enabled, allowing managers to request people for projects. example: eq: value week_start_day_id: enum: - 1 - 2 - 3 type: integer title: Week Start Day description: First day of the work week for the organization (e.g. Monday, Sunday). example: - 123 email_type_id: type: integer title: Email Type description: Email client type used for sending invoices (e.g. SMTP, Sendgrid). example: - 123 overhead_type_id: enum: - 1 - 2 type: integer title: Overhead Type description: Type of overhead calculation applied (e.g. fixed, percentage-based). example: - 123 time_reminder_id: enum: - 1 - 2 - 3 - 4 - 5 type: integer title: Time Reminder description: The ID of the time reminder schedule used by the organization. example: - 123 weight: title: Weight description: Internal weight value used for organization ranking (calculated as 1 / seat count). example: eq: value email_sender_name: title: Email Sender Name description: Display name shown as the sender of outgoing invoice emails. example: eq: value verification_status_id: enum: - 1 - 2 - 3 type: integer title: Verification Status description: Verification status of the organization account. example: - 123 owner: title: Owner description: The person who owns the organization account. example: eq: value organization_type_id: type: integer title: Organization Type description: Type of organization (e.g. agency, consultancy). example: - 123 expense_settings: type: object title: Expense Settings description: Organization-level expense settings (e.g. approval defaults, categories). example: eq: value self_attribution_comment: type: string title: Self Attribution Comment description: Additional comment or detail on how the organization discovered Productive. example: gt: '2026-01-01' time_reminders: type: boolean title: Time Reminders description: Time reminder settings for prompting people to log their time. example: gt: 0 email_key: type: string title: Email Key description: Unique email key (inbox key) for receiving emails into the organization. example: eq: value timesheet_submission: type: boolean title: Timesheet Submission description: Whether timesheet submission and approval workflow is enabled. example: gt: 0 time_reminder_condition: type: integer title: Time Reminder Condition description: Minimum tracked time percentage required before a time reminder is triggered. example: gt: 0 organization_subscription: title: Organization Subscription description: The organization's pricing plan subscription details. example: eq: value verified_at: type: string title: Verified At format: date-time description: Timestamp when the organization account was verified. example: gt: '2026-01-01' overhead: type: boolean title: Overhead description: Whether overhead cost tracking is enabled for the organization. example: eq: value number_format_id: enum: - 1 - 2 - 3 - 4 - 5 type: integer title: Number Format description: Number format preference for the organization. Controls how numbers are formatted (e.g. decimal separator). example: - 123 invitation_token: type: string title: Invitation Token description: Token used to invite new members to the organization. example: eq: value conflict_resolver_active: type: boolean title: Conflict Resolver Active description: Whether the scheduling conflict resolver is active, automatically detecting and flagging overbooking conflicts. example: eq: value facility_costs: title: Facility Costs description: Monthly facility cost amount in the organization's default currency. example: eq: value subsidiary_count: title: Subsidiary Count description: Number of active subsidiaries within the organization. example: gt: 0 currency: type: string title: Currency description: Default currency code for the organization (e.g. USD, EUR). example: eq: value billing_email: type: object title: Billing Email description: Email address used for billing correspondence. example: eq: value ai_enabled: type: boolean title: AI Enabled description: Whether AI-powered features are enabled for the organization. example: eq: value time_reminder_at: type: integer title: Time Reminder At description: Hour of the day (0–23) when time reminder emails are sent. example: gt: '2026-01-01' owner_id: type: integer title: Owner description: ID of the person who owns the organization account. example: - 123 expense_markup: type: number title: Expense Markup description: Default markup percentage applied to expenses on deals. example: eq: value force_single_sign_on: type: boolean title: Force Single Sign On description: Whether SSO login is enforced, requiring all users to authenticate via the configured identity provider. example: eq: value scim_bearer_token: type: string title: SCIM Bearer Token description: The SCIM bearer token for provisioning users via an identity provider (SCIM 2.0). example: eq: value overhead_subsidiary_switched_at: type: string title: Overhead Subsidiary Switched At format: date-time description: Timestamp when overhead tracking was switched to per-subsidiary mode. example: gt: '2026-01-01' addons: title: Addons description: Active add-ons enabled for the organization. example: eq: value booked_demo: type: boolean title: Booked Demo description: Whether the organization has booked a demo with Productive. example: eq: value time_locking_interval: type: integer title: Time Locking Interval description: Number of periods (days or weeks) after which time entries are automatically locked. example: gt: 0 timesheet_submission_settings: type: object title: Timesheet Submission Settings description: Configuration settings for the timesheet submission workflow. example: gt: 0 locale: enum: - en_US - de_DE - fr_FR - es_ES - it_IT type: string title: Locale description: Locale setting for the organization (e.g. en_US, de_DE). example: eq: value sample_data_imported_at: type: string title: Sample Data Imported At format: date-time description: Timestamp when sample data was imported into the organization. example: gt: '2026-01-01' allow_time_off: type: boolean title: Allow Time Off description: Whether time-off tracking is enabled for the organization. example: gt: 0 time_zone: type: string title: Time Zone description: Default timezone for the organization (Rails TimeZone name, e.g. Eastern Time (US & Canada)). example: gt: 0 remove_branding: type: boolean title: Remove Branding description: Whether the Productive branding is removed from outgoing documents and emails. example: eq: value time_locking_reminders: type: boolean title: Time Locking Reminders description: Whether email reminders are sent before time entries are locked. example: gt: 0 facility_costs_breakdown: type: object title: Facility Costs Breakdown description: Breakdown of facility costs by category or subsidiary. example: eq: value quick_start_config: type: string title: Quick Start Config description: Quick start configuration used during initial setup. example: eq: value avatar_url: type: string title: Avatar Url description: URL of the organization's avatar image (thumbnail size). example: eq: value time_locking_period_id: enum: - 1 - 2 - 3 type: integer title: Time Locking Period description: Period unit used for time locking (e.g. days, weeks). example: - 123 due_days: type: integer title: Due Days description: Default number of days after invoice date that payment is due. example: eq: value limited_service_types: title: Limited Service Types description: Whether service types are restricted to a limited set for the organization. example: eq: active facility_costs_default: title: Facility Costs Default description: Facility costs in the default currency. example: eq: value currency_format_id: enum: - 1 - 2 type: integer title: Currency Format description: Currency display format preference. Controls how currency symbols and amounts are positioned. example: - 123 single_sign_on: type: boolean title: Single Sign On description: Whether SAML-based single sign-on is enabled. example: eq: value analytics_uid: title: Analytics Uid description: Google Analytics tracking ID associated with the organization. example: eq: value customer_success_specialist_id: type: integer title: Customer Success Specialist description: ID of the Productive user assigned as the customer success specialist for this organization. example: - 123 erector_id: type: integer title: Erector description: ID of the Productive user who set up (erected) the organization. example: - 123 payment_terms_type: enum: - days_after_invoice_date - end_of_month - due_upon_receipt type: string title: Payment Terms Type nullable: true time_tracking_policies_enabled: type: boolean title: Time Tracking Policies Enabled description: When true, time tracking policies are enforced across the organization. example: gt: 0 name: type: string title: Name description: Name of the organization. example: eq: value fiscal_year_start: type: string title: Fiscal Year Start format: date description: Start date of the fiscal year if the organization uses a non-calendar fiscal year. example: eq: value invoice_timesheet_export_configuration: type: object title: Invoice Timesheet Export Configuration description: Configuration for how timesheet data is exported and attached to invoices. example: gt: 0 description: The organization resource representing the top-level account with global settings, preferences, and configuration. example: id: '109' type: organizations attributes: name: My Agency subdomain: myagency created_at: '2020-01-01T00:00:00.000+00:00' currency: USD timezone: UTC relationships: {} _filter_root_placeholder_usage: oneOf: - "$ref": "#/components/schemas/filter_placeholder_usage" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_placeholder_usage" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `placeholder_usage` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_booking_report: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_booking_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_booking_report" description: Filter schema for `booking_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_holiday_calendar: type: object title: Holiday calendar Resource properties: autogenerate_holidays: type: boolean title: Autogenerate Holidays description: When true, holidays for this calendar are automatically generated based on the configured country and state. example: gt: 0 country: type: string title: Country description: The country code used to determine which national holidays to include in this calendar. example: gt: 0 state: type: string title: State description: The state or region code used to narrow holidays to a specific sub-national region. example: eq: active organization: title: Organization description: The organization this holiday calendar belongs to. example: eq: value name: type: string title: Name description: The display name of this holiday calendar. example: eq: value id: type: integer title: Id description: The unique identifier of this holiday calendar. example: - 123 description: A set of holidays for a country or region that affects person availability and capacity calculations. example: id: '3' type: holiday_calendars attributes: name: United States country_code: US relationships: {} _filter_root_survey_report: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_survey_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_survey_report" description: Filter schema for `survey_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_organization: oneOf: - "$ref": "#/components/schemas/filter_organization" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_organization" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `organization` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_company: oneOf: - "$ref": "#/components/schemas/filter_company" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_company" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `company` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_financial_item_report: oneOf: - "$ref": "#/components/schemas/filter_financial_item_report" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_financial_item_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `financial_item_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_webhook_log: type: object title: Filter webhook log properties: retry_job_id: oneOf: - "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" not_contain: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" not_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_job_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the background job ID used for scheduling the retry delivery. example: - 123 before: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/before" eq: "$ref": "#/components/schemas/resource_webhook_log/properties/before" contains: "$ref": "#/components/schemas/resource_webhook_log/properties/before" not_contain: "$ref": "#/components/schemas/resource_webhook_log/properties/before" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_webhook_log/properties/before" description: Filter by before. example: eq: value retry_attempt: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" not_contain: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" eq: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" contains: "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" description: Filter using explicit operator syntax. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_webhook_log/properties/retry_attempt" description: Filter by the retry attempt number for failed deliveries. example: gt: '2026-01-01' id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_webhook_log/properties/id" not_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/id" not_contain: "$ref": "#/components/schemas/resource_webhook_log/properties/id" eq: "$ref": "#/components/schemas/resource_webhook_log/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_webhook_log/properties/id" description: Filter by webhook log ID. example: - 123 webhook_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" not_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" contains: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" not_contain: "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_webhook_log/properties/webhook_id" description: Filter by the associated webhook. example: - 123 after: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_webhook_log/properties/after" not_eq: "$ref": "#/components/schemas/resource_webhook_log/properties/after" eq: "$ref": "#/components/schemas/resource_webhook_log/properties/after" contains: "$ref": "#/components/schemas/resource_webhook_log/properties/after" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_webhook_log/properties/after" description: Filter by after. example: eq: value patternProperties: {} description: Filter parameters for listing webhook log resources, which record individual delivery attempts for webhooks. example: id: eq: '123' _filter_root_lost_reason: oneOf: - "$ref": "#/components/schemas/filter_lost_reason" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_lost_reason" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `lost_reason` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_integration_exporter_configuration: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_integration_exporter_configuration" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_integration_exporter_configuration" description: Filter schema for `integration_exporter_configuration` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_expense: type: object title: Expense Resource properties: created_at: type: string title: Created At format: date-time description: Date when the expense was created in the system. example: gt: '2026-01-01' section_name: type: string title: Section Name description: Name of the section within the budget where the expense's service is grouped. example: eq: value query: type: string title: Query description: Text search query matching expense names and descriptions. example: eq: value reimbursed_on: type: string title: Reimbursed On format: date description: Date when the expense was reimbursed. example: eq: value company_reference_id: type: integer title: Company Reference description: Company reference ID in the external accounting system. example: - 123 service_type_name: title: Service Type Name description: Name of the work category for this expense. example: eq: active allocation_status: enum: - 1 - 2 type: string title: Allocation Status description: Whether this expense has been allocated to a service, or is unallocated (when the expense-without-service feature is enabled). example: eq: active pay_on: type: string title: Pay On format: date description: Due date for payment. example: eq: value profit: title: Profit description: Difference between billable amount and total cost in the expense currency. example: eq: value custom_field_attachments: title: Custom Field Attachments description: Files in file-type custom fields. example: gt: '2026-01-01' markup: type: number title: Markup description: The markup percentage applied on top of the expense cost when billing to the client. Takes precedence over `billable_amount` if both are sent in the same request. example: eq: value deal: title: Deal description: The budget or deal this expense is charged to. example: eq: value paid_on_before: type: string title: Paid On Before format: date description: Latest date (exclusive) for querying expenses by paid_on. example: eq: value invoice_id: type: integer title: Invoice description: ID of the invoice this expense is attributed to. example: - 123 total_amount_with_tax: title: Total Amount With Tax description: Total amount including tax in the expense currency. example: gt: 0 profit_default: title: Profit Default description: Difference between billable amount and total cost in the organization default currency. example: eq: value approver: title: Approver description: The person who approved this expense. example: eq: value billable_amount: type: integer title: Billable Amount description: Amount to be billed to the client in the expense currency. Ignored if markup is sent in the same request — `markup` takes precedence and `billable_amount` is recalculated from it. example: gt: 0 service_id: type: integer title: Service description: ID of the budget service this expense is allocated to. example: - 123 pay_on_after: type: string title: Pay On After format: date description: Earliest date (exclusive) for querying expenses by pay_on. example: eq: value tax_inclusion: type: boolean title: Tax Inclusion description: Whether the amount includes tax or is tax-exclusive. example: eq: value approval_status: enum: - 1 - 2 - 3 - 4 type: integer title: Approval Status description: Overall approval status across all approvers. example: eq: active reimbursable: type: boolean title: Reimbursable description: Whether this expense is eligible for reimbursement to the person. example: eq: value line_items_count: type: integer title: Line Items Count description: Number of the expense line items on this expense. example: gt: 0 deal_name: title: Deal Name description: Name of the budget this expense is charged to. example: eq: value attachment_id: type: integer title: Attachment description: ID of the receipt or document attached to this expense. example: - 123 fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy date range filter for querying expenses. example: gt: '2026-01-01' date_before: type: string title: Date Before format: date description: Latest date (exclusive) for querying expenses by date. example: eq: value tax_rate_id: type: integer title: Tax Rate description: ID of the tax rate applied to this expense. example: - 123 full_query: type: string title: Full Query description: Full-text search query matching across expense fields. example: eq: value invoice_attribution: title: Invoice Attribution description: The invoice attribution linking this expense to an invoice. example: gt: '2026-01-01' project_id: type: integer title: Project description: ID of the project associated with the expense's budget. example: - 123 service_type_id: type: integer title: Service Type description: ID of the work category for this expense. example: - 123 organization: title: Organization description: The organization this expense belongs to. example: eq: value person: title: Person description: The person the expense was incurred for. example: eq: value stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type of the budget this expense belongs to. example: eq: active quantity_received: type: number title: Quantity Received description: Number of units received (for purchase order expenses). example: eq: value approved_at: type: string title: Approved At format: date-time description: Date when the expense was approved. example: gt: '2026-01-01' with_draft: type: boolean title: With Draft description: Whether to include draft expenses in results. example: eq: value date: type: string title: Date format: date description: Date when the expense was incurred. example: gt: '2026-01-01' creator: title: Creator description: The person who created this expense record. example: eq: value deal_project_name: title: Deal Project Name description: Name of the project associated with the expense's budget. example: eq: value quantity: type: number title: Quantity description: Number of units on the expense. example: eq: value amount_normalized: title: Amount Normalized description: Unit cost of the expense in the budget currency. example: gt: 0 recognized_revenue_normalized: title: Recognized Revenue Normalized description: Expected revenue based on the service's billing type in the budget currency. example: eq: value tax_rate: title: Tax Rate description: The tax rate applied to this expense. example: gt: 0 exchange_date: type: string title: Exchange Date format: date description: Date used for exchange rate calculation. example: gt: '2026-01-01' pay_on_before: type: string title: Pay On Before format: date description: Latest date (exclusive) for querying expenses by pay_on. example: eq: value quote_type: title: Quote Type description: Quote type identifier for this expense. example: eq: active awaiting_approval_from_approver_id: type: integer title: Awaiting Approval From Approver description: ID of the approver this expense is currently awaiting approval from. example: - 123 exported: title: Exported description: Whether the expense has been exported to external accounting software. example: eq: value draft: type: boolean title: Draft description: Whether this expense is still in draft status on the purchase order. example: eq: value deal_id: type: integer title: Deal description: ID of the budget or deal this expense is charged to. example: - 123 amount: type: integer title: Amount description: Unit cost of the expense in the expense currency. example: gt: 0 jump_query: type: string title: Jump Query description: Jump/quick search query for this expense. example: eq: value service_name: title: Service Name description: Name of the budget service this expense is allocated to. example: eq: value amount_with_tax_normalized: title: Amount With Tax Normalized description: Unit amount including tax in the budget currency. example: gt: 0 service_type: title: Service Type description: The work category for this expense. example: eq: active purchase_order: title: Purchase Order description: The purchase order this expense belongs to, if any. example: data: type: purchase_orders id: '1234567' invoicing_status: enum: - 1 - 2 - 3 type: integer title: Invoicing Status description: Invoicing status of this expense. example: eq: active expense_line_items: title: Expense Line Items description: Individual line items if the expense has multiple items. example: eq: value exported_at: type: string title: Exported At format: date-time description: Timestamp when the expense was exported. example: gt: '2026-01-01' currency_normalized: title: Currency Normalized description: Budget currency code. example: eq: value total_amount_with_tax_default: title: Total Amount With Tax Default description: Total amount including tax in the organization default currency. example: gt: 0 currency_default: title: Currency Default description: Organization default currency code. example: eq: value updater_id: type: integer title: Updater recognized_revenue: title: Recognized Revenue description: Expected revenue based on the service's billing type in the expense currency. example: eq: value rejected_at: type: string title: Rejected At format: date-time description: Timestamp when the expense was rejected. example: gt: '2026-01-01' total_amount_default: title: Total Amount Default description: Total cost (quantity × unit amount) before tax in the organization default currency. example: gt: 0 date_after: type: string title: Date After format: date description: Earliest date (exclusive) for querying expenses by date. example: eq: value total_amount_normalized: title: Total Amount Normalized description: Total cost (quantity × unit amount) before tax in the budget currency. example: gt: 0 export_status: enum: - 1 - 2 type: integer title: Export Status description: Export status in the external accounting system. example: eq: active reimbursement: enum: - 1 - 2 - 3 type: integer title: Reimbursement description: Reimbursement details for this expense. example: eq: value paid_on_after: type: string title: Paid On After format: date description: Earliest date (exclusive) for querying expenses by paid_on. example: eq: value billable_amount_default: title: Billable Amount Default description: Amount to be billed to the client in the organization default currency. example: gt: 0 amount_with_tax_default: title: Amount With Tax Default description: Unit amount including tax in the organization default currency. example: gt: 0 service: title: Service description: The budget service this expense is allocated to. example: eq: value name: type: string title: Name description: What the expense was for (travel, software, external costs, etc.). example: eq: value status: enum: - 1 - 2 type: integer title: Status description: Approval status of this expense. example: eq: active custom_field_people: title: Custom Field People description: People in person-type custom fields. example: eq: value invoiced: type: boolean title: Invoiced description: Whether this expense has been invoiced to the client. example: eq: value rejected: title: Rejected description: Whether this expense was rejected during approval. example: eq: value exchange_rate_normalized: type: number title: Exchange Rate Normalized description: Exchange rate from expense currency to budget currency. example: gt: 0 export_id: type: string title: Export description: ID in the external accounting system. example: - 123 profit_normalized: title: Profit Normalized description: Difference between billable amount and total cost in the budget currency. example: eq: value assigned_approver_id: type: integer title: Assigned Approver description: ID of the person assigned as approver for this expense. example: - 123 custom_fields: type: object title: Custom Fields description: Custom field values. example: eq: value designated_approver_id: type: integer title: Designated Approver description: ID of the person designated as the approver for this expense's budget. example: - 123 rejected_reason: type: string title: Rejected Reason description: Reason why the expense was rejected. example: eq: value attachment: title: Attachment description: Receipt or document attached to this expense. example: eq: value fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people filter for querying expenses. example: eq: value responsible_id: type: integer title: Responsible description: ID of the person responsible for this expense. example: - 123 position: type: integer title: Position description: Position of this expense. example: eq: value amount_default: title: Amount Default description: Unit cost of the expense in the organization default currency. example: gt: 0 exchange_rate: type: number title: Exchange Rate description: Exchange rate from expense currency to organization default currency. example: gt: 0 purchase_order_id: type: integer title: Purchase Order description: ID of the purchase order this expense belongs to. example: 1234567 updated_at: type: string title: Updated At format: date-time approver_id: type: integer title: Approver description: ID of the person who approved this expense. example: - 123 id: type: integer title: Id description: Unique identifier of the expense. example: - 123 vendor: title: Vendor description: The vendor company this expense was paid to. example: eq: value external_payment_id: type: string title: External Payment description: Payment ID in external payment system. example: - 123 amount_with_tax: title: Amount With Tax description: Unit amount including tax in the expense currency. example: gt: 0 vendor_id: type: integer title: Vendor description: ID of the vendor company this expense was paid to. example: - 123 approved: title: Approved description: Whether this expense has been approved. example: eq: value export_integration_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 type: integer title: Export Integration Type description: Type of accounting integration used for export. example: - 123 company_id: type: integer title: Company description: ID of the client company associated with the budget of this expense. example: - 123 person_id: type: integer title: Person description: ID of the person the expense was incurred for. example: - 123 deal_company_name: title: Deal Company Name description: Name of the client company associated with the expense's budget. example: eq: value updater: title: Updater creator_id: type: integer title: Creator description: ID of the person who created this expense record. example: - 123 approval_statuses: title: Approval Statuses description: Per-approver decisions on this expense. example: eq: active rejecter: title: Rejecter description: The person who rejected this expense. example: eq: value total_amount: title: Total Amount description: Total cost (quantity × unit amount) before tax in the expense currency. example: gt: 0 billable_amount_normalized: title: Billable Amount Normalized description: Amount to be billed to the client in the budget currency. example: gt: 0 export_url: type: string title: Export Url description: URL to view this expense in the external accounting system. example: eq: value total_amount_with_tax_normalized: title: Total Amount With Tax Normalized description: Total amount including tax in the budget currency. example: gt: 0 recognized_revenue_default: title: Recognized Revenue Default description: Expected revenue based on the service's billing type in the organization default currency. example: eq: value deleted_at: type: string title: Deleted At format: date-time description: Soft-deletion timestamp. example: gt: '2026-01-01' currency: type: string title: Currency description: Currency code of the expense. example: eq: value paid_on: type: string title: Paid On format: date description: Date when the expense was actually paid. example: eq: value description: A non-labor cost logged against a budget service. Expenses track vendor costs, support approval and reimbursement workflows, and can be invoiced to clients. example: id: '345' type: expenses attributes: name: Design software license amount: '199.00' currency: USD date: '2026-03-01' billable: true status: pending created_at: '2026-03-01T10:00:00.000+00:00' updated_at: '2026-03-01T10:00:00.000+00:00' note: relationships: person: data: type: people id: '12' deal: data: type: deals id: '89' _filter_root_rate_card: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_rate_card" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_rate_card" description: Filter schema for `rate_card` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_timesheet_report: type: object title: Timesheet report Resource properties: saturday_capacity: type: integer title: Saturday Capacity description: Saturday capacity for this timesheet report group. example: eq: value monday_capacity: type: integer title: Monday Capacity description: Monday capacity for this timesheet report group. example: eq: value monday_available: type: integer title: Monday Available description: Monday available for this timesheet report group. example: eq: value wednesday_available: type: integer title: Wednesday Available description: Wednesday available for this timesheet report group. example: eq: value tuesday_capacity: type: integer title: Tuesday Capacity description: Tuesday capacity for this timesheet report group. example: eq: value saturday_time: type: integer title: Saturday Time description: Saturday time for this timesheet report group. example: gt: 0 week: type: string title: Week description: Week grouping for this timesheet report row. example: eq: value after: type: string title: After format: date description: After for this timesheet report group. example: eq: value group: type: string title: Group description: The grouping dimension for this timesheet report row. example: eq: value organization: title: Organization description: Organization for this timesheet report group. example: eq: value sunday_time: type: integer title: Sunday Time description: Sunday time for this timesheet report group. example: gt: 0 friday_capacity: type: integer title: Friday Capacity description: Friday capacity for this timesheet report group. example: eq: value saturday_available: type: integer title: Saturday Available description: Saturday available for this timesheet report group. example: eq: value tags: type: string title: Tags description: Tags for this timesheet report group. example: eq: value tuesday_available: type: integer title: Tuesday Available description: Tuesday available for this timesheet report group. example: eq: value person: title: Person description: Person for this timesheet report group. example: eq: value friday_time: type: integer title: Friday Time description: Friday time for this timesheet report group. example: gt: 0 count: type: integer title: Count description: Number of timesheets in this report group. example: gt: 0 before: type: string title: Before format: date description: Before for this timesheet report group. example: eq: value people_custom_fields: type: string title: People Custom Fields description: People custom fields for this timesheet report group. example: eq: value tuesday_time: type: integer title: Tuesday Time description: Tuesday time for this timesheet report group. example: gt: 0 formula_fields: title: Formula Fields description: Formula fields for this timesheet report group. example: eq: value monday_time: type: integer title: Monday Time description: Monday time for this timesheet report group. example: gt: 0 friday_available: type: integer title: Friday Available description: Friday available for this timesheet report group. example: eq: value thursday_available: type: integer title: Thursday Available description: Thursday available for this timesheet report group. example: eq: value wednesday_capacity: type: integer title: Wednesday Capacity description: Wednesday capacity for this timesheet report group. example: eq: value sunday_available: type: integer title: Sunday Available description: Sunday available for this timesheet report group. example: eq: value currency: title: Currency description: Currency for this timesheet report group. example: eq: value thursday_time: type: integer title: Thursday Time description: Thursday time for this timesheet report group. example: gt: 0 week_submission_status: enum: - submitted - partially_submitted - not_submitted type: string title: Week Submission Status description: Week submission status for this timesheet report group. example: eq: active person_id: type: integer title: Person description: Person id for this timesheet report group. example: - 123 wednesday_time: type: integer title: Wednesday Time description: Wednesday time for this timesheet report group. example: gt: 0 currency_default: title: Currency Default description: Currency in the organization's default currency for this timesheet report group. example: eq: value report: title: Report description: Report for this timesheet report group. example: eq: value person_status: type: integer title: Person Status description: Person status for this timesheet report group. example: eq: active query: type: string title: Query description: Query for this timesheet report group. example: eq: value thursday_capacity: type: integer title: Thursday Capacity description: Thursday capacity for this timesheet report group. example: eq: value currency_normalized: title: Currency Normalized description: Currency in the normalized currency for this timesheet report group. example: eq: value sunday_capacity: type: integer title: Sunday Capacity description: Sunday capacity for this timesheet report group. example: eq: value description: An aggregated timesheet report row grouping timesheet records by configurable dimensions with time metrics. example: id: '123' type: timesheet_reports attributes: total_hours: 40 approved_hours: 38 pending_hours: 2 week_starting: '2026-01-13' person_id: 12 relationships: {} filter_survey_report: type: object title: Filter survey report properties: id: oneOf: - "$ref": "#/components/schemas/resource_survey_report/properties/id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_survey_report/properties/id" not_contain: "$ref": "#/components/schemas/resource_survey_report/properties/id" eq: "$ref": "#/components/schemas/resource_survey_report/properties/id" not_eq: "$ref": "#/components/schemas/resource_survey_report/properties/id" description: Filter operator object for id. example: - 123 description: Filter survey report results by id. example: - 123 query: oneOf: - "$ref": "#/components/schemas/resource_survey_report/properties/query" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_survey_report/properties/query" eq: "$ref": "#/components/schemas/resource_survey_report/properties/query" not_contain: "$ref": "#/components/schemas/resource_survey_report/properties/query" contains: "$ref": "#/components/schemas/resource_survey_report/properties/query" description: Filter operator object for query. example: eq: value description: Filter survey report results by query. example: eq: value creator_id: oneOf: - "$ref": "#/components/schemas/resource_survey_report/properties/creator_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_survey_report/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_survey_report/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_survey_report/properties/creator_id" eq: "$ref": "#/components/schemas/resource_survey_report/properties/creator_id" description: Filter operator object for creator id. example: - 123 description: Filter survey report results by creator id. example: - 123 title: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_survey_report/properties/title" not_contain: "$ref": "#/components/schemas/resource_survey_report/properties/title" not_eq: "$ref": "#/components/schemas/resource_survey_report/properties/title" contains: "$ref": "#/components/schemas/resource_survey_report/properties/title" description: Filter operator object for title. example: eq: value - "$ref": "#/components/schemas/resource_survey_report/properties/title" description: Filter survey report results by title. example: eq: value project_id: oneOf: - "$ref": "#/components/schemas/resource_survey_report/properties/project_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_survey_report/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_survey_report/properties/project_id" eq: "$ref": "#/components/schemas/resource_survey_report/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_survey_report/properties/project_id" description: Filter operator object for project id. example: - 123 description: Filter survey report results by project id. example: - 123 created_at: oneOf: - "$ref": "#/components/schemas/resource_survey_report/properties/created_at" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_survey_report/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_survey_report/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_survey_report/properties/created_at" eq: "$ref": "#/components/schemas/resource_survey_report/properties/created_at" description: Filter operator object for created at. example: gt: '2026-01-01' description: Filter survey report results by created at. example: gt: '2026-01-01' editable: oneOf: - "$ref": "#/components/schemas/resource_survey_report/properties/editable" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_survey_report/properties/editable" contains: "$ref": "#/components/schemas/resource_survey_report/properties/editable" not_contain: "$ref": "#/components/schemas/resource_survey_report/properties/editable" not_eq: "$ref": "#/components/schemas/resource_survey_report/properties/editable" description: Filter operator object for editable. example: eq: value description: Filter survey report results by editable. example: eq: value patternProperties: "^creator..*$": title: Creator relationship "^project..*$": title: Project relationship description: Available filter parameters for querying aggregated survey report data. example: id: eq: '123' filter_survey_response: type: object title: Filter survey response properties: survey_id: oneOf: - "$ref": "#/components/schemas/resource_survey_response/properties/survey_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_survey_response/properties/survey_id" eq: "$ref": "#/components/schemas/resource_survey_response/properties/survey_id" contains: "$ref": "#/components/schemas/resource_survey_response/properties/survey_id" not_eq: "$ref": "#/components/schemas/resource_survey_response/properties/survey_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated survey. example: - 123 created_at: oneOf: - "$ref": "#/components/schemas/resource_survey_response/properties/created_at" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_survey_response/properties/created_at" eq: "$ref": "#/components/schemas/resource_survey_response/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_survey_response/properties/created_at" contains: "$ref": "#/components/schemas/resource_survey_response/properties/created_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter by creation date range. example: gt: '2026-01-01' creator_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_survey_response/properties/creator_id" eq: "$ref": "#/components/schemas/resource_survey_response/properties/creator_id" contains: "$ref": "#/components/schemas/resource_survey_response/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_survey_response/properties/creator_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_survey_response/properties/creator_id" description: Filter by the person who submitted the response. example: - 123 id: oneOf: - "$ref": "#/components/schemas/resource_survey_response/properties/id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_survey_response/properties/id" not_eq: "$ref": "#/components/schemas/resource_survey_response/properties/id" not_contain: "$ref": "#/components/schemas/resource_survey_response/properties/id" eq: "$ref": "#/components/schemas/resource_survey_response/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by ID. example: - 123 custom_fields: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_survey_response/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_survey_response/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_survey_response/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_survey_response/properties/custom_fields" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_survey_response/properties/custom_fields" description: Filter by custom field values. example: eq: value patternProperties: "^survey..*$": title: Survey relationship "^creator..*$": title: Creator relationship description: Filter parameters for listing survey responses. Supports filtering by survey. Standard ID operators apply. example: id: eq: '123' resource_placeholder: type: object title: Placeholder Resource properties: id: type: integer title: Id description: The unique identifier of this placeholder. example: - 123 project: title: Project description: The project this placeholder is scoped to, or null if it is organization-wide. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when this placeholder was created. example: gt: '2026-01-01' icon: type: string title: Icon description: The icon identifier used to visually represent this placeholder. example: eq: value type: enum: - person - date type: string title: Type description: The type of placeholder, either person or date. example: eq: active color: type: string title: Color description: The color identifier used to visually represent this placeholder. example: eq: value query: type: string title: Query description: A text search query to filter placeholders by name. example: eq: value name: type: string title: Name description: The display name of this placeholder (e.g. Frontend Developer). example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp when this placeholder was last updated. example: gt: '2026-01-01' project_id: type: integer title: Project description: ID of the project this placeholder is scoped to, or null if it is organization-wide. example: - 123 usage_project_id: type: integer title: Usage Project description: Filter placeholders to those used in tasks or todos within the specified project. example: - 123 organization: title: Organization description: The organization this placeholder belongs to. example: eq: value category: enum: - project type: string title: Category description: The category of this placeholder, indicating the context in which it is used (e.g. project). example: eq: active description: A named generic resource used in task assignment and scheduling without mapping to a specific person. example: id: '56' type: placeholders attributes: name: UX Designer (contractor) color_id: '4' archived_at: custom_fields: relationships: service_types: data: - type: service_types id: '5' filter_payment_reminder_sequence: type: object title: Filter payment reminder sequence properties: default_sequence: oneOf: - "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/default_sequence" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/default_sequence" not_contain: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/default_sequence" eq: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/default_sequence" not_eq: "$ref": "#/components/schemas/resource_payment_reminder_sequence/properties/default_sequence" description: Filter using explicit operator syntax. example: eq: value description: Filter by default sequence status; when true, includes only the default payment reminder sequence. example: eq: value patternProperties: {} description: Filter parameters for payment reminder sequences. example: id: eq: '123' resource_invoice_template: type: object title: Invoice template Resource properties: creator_id: type: integer title: Creator description: ID of the person who created this invoice template. example: - 123 budget_id: type: integer title: Budget description: ID of the budget this invoice template is linked to. example: - 123 issuer_id: type: integer title: Issuer description: ID of the person designated as the issuer on invoices generated from this template. example: - 123 bank_account: title: Bank Account description: The bank account associated with this invoice template, used on generated invoices. example: gt: 0 id: type: integer title: Id description: Unique identifier of this invoice template. example: - 123 document_type_id: type: integer title: Document Type description: ID of the document type used for invoices generated from this template. example: - 123 company_id: type: integer title: Company description: ID of the company (client) associated with the budget for this invoice template. example: - 123 invoice_due_in_days: type: integer title: Invoice Due In Days description: The invoice due in days. example: eq: value subject: title: Subject description: The default subject line used on invoices generated from this template, typically the budget name. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary used as the issuing entity on invoices generated from this template. example: - 123 payment_terms_type: enum: - days_after_invoice_date - end_of_month - due_upon_receipt type: string title: Payment Terms Type nullable: true budget: title: Budget description: The budget this invoice template is linked to. example: gt: 0 custom_fields: type: object title: Custom Fields description: Custom field values for this invoice template. example: eq: value note: type: string title: Note description: The default note text to include on invoices generated from this template. example: eq: value bank_account_id: type: integer title: Bank Account description: ID of the bank account used for invoices generated from this template. example: - 123 issuer: title: Issuer description: The person designated as the issuer on invoices generated from this template. example: eq: value created_at: title: Created At description: Timestamp when this invoice template was created. example: gt: '2026-01-01' document_type: title: Document Type description: The document type used for invoices generated from this template. example: eq: active invoice_creation_options: type: object title: Invoice Creation Options description: A JSON object containing rules used to determine which services or time entries to include when auto-generating invoice line items. example: eq: value creator: title: Creator description: The person who created this invoice template. example: eq: value organization: title: Organization description: The organization this invoice template belongs to. example: eq: value subsidiary: title: Subsidiary description: The subsidiary used as the issuing entity on invoices generated from this template. example: eq: value payment_terms_days: type: integer title: Payment Terms Days nullable: true bank_account_details: type: object title: Bank Account Details description: Custom bank account details (as a JSON object) to display on generated invoices, overriding the default bank account details. example: gt: 0 description: An invoice template is linked to a specific budget and stores the default settings (document type, bank account, issuer, etc.) used when automatically generating invoice drafts for that budget. example: id: '5' type: invoice_templates attributes: name: Standard Invoice default: true created_at: '2026-01-01T00:00:00.000+00:00' relationships: {} filter_einvoice_identity: type: object title: Filter einvoice identity properties: company_id: oneOf: - "$ref": "#/components/schemas/resource_einvoice_identity/properties/company_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_einvoice_identity/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_einvoice_identity/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_einvoice_identity/properties/company_id" eq: "$ref": "#/components/schemas/resource_einvoice_identity/properties/company_id" example: eq: '89' example: '89' subsidiary_id: oneOf: - "$ref": "#/components/schemas/resource_einvoice_identity/properties/subsidiary_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_einvoice_identity/properties/subsidiary_id" eq: "$ref": "#/components/schemas/resource_einvoice_identity/properties/subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_einvoice_identity/properties/subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_einvoice_identity/properties/subsidiary_id" example: eq: '42' example: '42' example: company_id: '89' resource_financial_item_report: type: object title: Financial item report Resource properties: overhead_cost: title: Overhead Cost description: Overhead cost for this financial item report group. example: eq: value project: title: Project description: Project for this financial item report group. example: eq: value owner_report: title: Owner Report description: Owner report for this financial item report group. example: eq: value invoice_attribution: title: Invoice Attribution description: Invoice attribution for this financial item report group. example: gt: '2026-01-01' total_draft_invoiced_normalized: title: Total Draft Invoiced Normalized description: Total draft invoiced amount for financial items in this group, normalized to the deal currency. example: eq: value total_estimated_cost: title: Total Estimated Cost description: Sum of estimated cost across all records in this financial item report group. example: gt: 0 scheduled_cost: title: Scheduled Cost description: Scheduled cost for this financial item report group. example: eq: value total_budget_used: title: Total Budget Used description: Sum of budget used across all records in this financial item report group. example: gt: 0 person_report: title: Person Report description: The person associated with this financial item report row. example: eq: value average_margin_default: type: number title: Average Margin Default description: Average margin in the organization's default currency for this financial item report group. example: eq: value budget_used: title: Budget Used description: Budget used for this financial item report group. example: gt: 0 financial_item_id: type: string title: Financial Item description: Financial item id for this financial item report group. example: - 123 project_type_id: enum: - 1 - 2 type: integer title: Project Type description: Project type id for this financial item report group. example: - 123 subsidiary: title: Subsidiary description: Subsidiary for this financial item report group. example: eq: value responsible: title: Responsible description: Responsible for this financial item report group. example: eq: value service_type_id: type: integer title: Service Type description: Service type id for this financial item report group. example: - 123 currency: type: string title: Currency description: Currency for this financial item report group. example: eq: value blended_rate: title: Blended Rate description: Blended rate for this financial item report group. example: gt: 0 approval_status: type: integer title: Approval Status description: Approval status for this financial item report group. example: eq: active stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type for this financial item report group. example: eq: active service_report: title: Service Report description: Service report for this financial item report group. example: eq: value billing_type_id: type: integer title: Billing Type description: Billing type id for this financial item report group. example: - 123 project_id: type: integer title: Project description: Project id for this financial item report group. example: - 123 total_expense_cost_default: title: Total Expense Cost Default description: Sum of expense cost in the organization's default currency across all records in this financial item report group. example: eq: value total_expense_cost: title: Total Expense Cost description: Sum of expense cost across all records in this financial item report group. example: eq: value total_budget_used_default: title: Total Budget Used Default description: Sum of budget used in the organization's default currency across all records in this financial item report group. example: gt: 0 average_blended_rate_default: title: Average Blended Rate Default description: Average blended rate in the organization's default currency for this financial item report group. example: gt: 0 project_report: title: Project Report description: Project report for this financial item report group. example: eq: value total_budget_total_normalized: title: Total Budget Total Normalized description: Sum of budget total in the normalized currency across all records in this financial item report group. example: gt: 0 person_id: type: integer title: Person description: Person id for this financial item report group. example: - 123 expense: title: Expense description: Expense for this financial item report group. example: eq: value total_worked_time: type: number title: Total Worked Time description: Sum of worked time across all records in this financial item report group. example: gt: 0 deal_status_id: type: integer title: Deal Status description: Deal status id for this financial item report group. example: - 123 financial_item: title: Financial Item description: Financial item for this financial item report group. example: eq: value total_recognized_revenue_normalized: title: Total Recognized Revenue Normalized description: Sum of recognized revenue in the normalized currency across all records in this financial item report group. example: eq: value organization: title: Organization description: Organization for this financial item report group. example: eq: value count: type: integer title: Count description: Number of financial items in this report group. example: gt: 0 total_budget_used_normalized: title: Total Budget Used Normalized description: Sum of budget used in the normalized currency across all records in this financial item report group. example: gt: 0 total_scheduled_cost_default: title: Total Scheduled Cost Default description: Sum of scheduled cost in the organization's default currency across all records in this financial item report group. example: eq: value stage_status: enum: - 1 - 2 - 3 - 4 - 5 type: integer title: Stage Status description: Stage status for this financial item report group. example: eq: active total_time_entry_cost_normalized: title: Total Time Entry Cost Normalized description: Sum of time entry cost in the normalized currency across all records in this financial item report group. example: gt: 0 date: type: string title: Date format: date description: Date for this financial item report group. example: gt: '2026-01-01' total_projected_revenue_normalized: title: Total Projected Revenue Normalized description: Sum of projected revenue in the normalized currency across all records in this financial item report group. example: eq: value unit: enum: - 1 - 2 - 3 type: integer title: Unit description: The billing unit type used to filter financial items (e.g., hours, days, fixed). example: eq: value total_recognized_profit: title: Total Recognized Profit description: Sum of recognized profit across all records in this financial item report group. example: eq: value parent_company_id: type: integer title: Parent Company description: ID of the parent company of the client linked to this financial item entry, used for hierarchical company filtering. example: - 123 section_id: type: integer title: Section description: Section id for this financial item report group. example: - 123 service: title: Service description: Service for this financial item report group. example: eq: value total_recognized_profit_normalized: title: Total Recognized Profit Normalized description: Sum of recognized profit in the normalized currency across all records in this financial item report group. example: eq: value total_cost: title: Total Cost description: Sum of cost across all records in this financial item report group. example: eq: value average_margin: type: number title: Average Margin description: Average margin for this financial item report group. example: eq: value total_overhead_cost_default: title: Total Overhead Cost Default description: Sum of overhead cost in the organization's default currency across all records in this financial item report group. example: eq: value total_overhead_cost: title: Total Overhead Cost description: Sum of overhead cost across all records in this financial item report group. example: eq: value service_type: title: Service Type description: Service type for this financial item report group. example: eq: active formulas: type: integer title: Formulas description: Formulas for this financial item report group. example: eq: value company_report: title: Company Report description: Company report for this financial item report group. example: eq: value total_projected_revenue: title: Total Projected Revenue description: Sum of projected revenue across all records in this financial item report group. example: eq: value company: title: Company description: Company for this financial item report group. example: eq: value booking_item: title: Booking Item description: Booking item for this financial item report group. example: eq: value total_draft_invoiced: title: Total Draft Invoiced description: Total draft invoiced amount for financial items in this group, in the deal currency. example: eq: value average_margin_normalized: type: number title: Average Margin Normalized description: Average margin in the normalized currency for this financial item report group. example: eq: value profit: title: Profit description: Profit for this financial item report group. example: eq: value probability: type: integer title: Probability description: Probability for this financial item report group. example: eq: value total_budget_total_default: title: Total Budget Total Default description: Sum of budget total in the organization's default currency across all records in this financial item report group. example: gt: 0 total_credited_normalized: title: Total Credited Normalized description: Sum of credited in the normalized currency across all records in this financial item report group. example: eq: value locked: type: boolean title: Locked description: Locked for this financial item report group. example: eq: value total_time_entry_cost_default: title: Total Time Entry Cost Default description: Sum of time entry cost in the organization's default currency across all records in this financial item report group. example: gt: 0 deal_status: title: Deal Status description: Deal status for this financial item report group. example: eq: active total_estimated_cost_default: title: Total Estimated Cost Default description: Sum of estimated cost in the organization's default currency across all records in this financial item report group. example: gt: 0 total_projected_revenue_default: title: Total Projected Revenue Default description: Sum of projected revenue in the organization's default currency across all records in this financial item report group. example: eq: value total_budget_total: title: Total Budget Total description: Sum of budget total across all records in this financial item report group. example: gt: 0 formula_fields: title: Formula Fields description: Formula fields for this financial item report group. example: eq: value total_estimated_cost_normalized: title: Total Estimated Cost Normalized description: Sum of estimated cost in the normalized currency across all records in this financial item report group. example: gt: 0 origin_deal: title: Origin Deal description: Origin deal for this financial item report group. example: eq: value group: type: string title: Group description: The grouping dimension for this financial item report row. example: eq: value total_scheduled_cost_normalized: title: Total Scheduled Cost Normalized description: Sum of scheduled cost in the normalized currency across all records in this financial item report group. example: eq: value total_overhead_cost_normalized: title: Total Overhead Cost Normalized description: Sum of overhead cost in the normalized currency across all records in this financial item report group. example: eq: value total_scheduled_time: type: number title: Total Scheduled Time description: Sum of scheduled time across all records in this financial item report group. example: gt: 0 total_credited: title: Total Credited description: Sum of credited across all records in this financial item report group. example: eq: value financial_item_type: type: string title: Financial Item Type description: Financial item type for this financial item report group. example: eq: active origin_deal_id: type: integer title: Origin Deal description: Origin deal id for this financial item report group. example: - 123 total_time: type: number title: Total Time description: Sum of time across all records in this financial item report group. example: gt: 0 total_scheduled_revenue: title: Total Scheduled Revenue description: Sum of scheduled revenue across all records in this financial item report group. example: eq: value budget_id: type: integer title: Budget description: Budget id for this financial item report group. example: - 123 person: title: Person description: Person for this financial item report group. example: eq: value subsidiary_id: type: integer title: Subsidiary description: Subsidiary id for this financial item report group. example: - 123 currency_normalized: type: string title: Currency Normalized description: Currency in the normalized currency for this financial item report group. example: eq: value responsible_id: type: integer title: Responsible description: Responsible id for this financial item report group. example: - 123 budget_total: title: Budget Total description: Budget total for this financial item report group. example: gt: 0 average_recognized_margin: type: number title: Average Recognized Margin description: Average recognized margin for this financial item report group. example: eq: value total_estimated_time: type: number title: Total Estimated Time description: Sum of estimated time across all records in this financial item report group. example: gt: 0 currency_default: title: Currency Default description: Currency in the organization's default currency for this financial item report group. example: eq: value total_scheduled_revenue_normalized: title: Total Scheduled Revenue Normalized description: Sum of scheduled revenue in the normalized currency across all records in this financial item report group. example: eq: value total_recognized_profit_default: title: Total Recognized Profit Default description: Sum of recognized profit in the organization's default currency across all records in this financial item report group. example: eq: value cost: title: Cost description: Cost for this financial item report group. example: eq: value average_blended_rate: title: Average Blended Rate description: Average blended rate for this financial item report group. example: gt: 0 total_draft_invoiced_default: title: Total Draft Invoiced Default description: Total draft invoiced amount for financial items in this group, in the organization's default currency. example: eq: value revenue: title: Revenue description: Revenue for this financial item report group. example: eq: value total_cost_default: title: Total Cost Default description: Sum of cost in the organization's default currency across all records in this financial item report group. example: eq: value invoiced: title: Invoiced description: Invoiced for this financial item report group. example: eq: value budget_status: enum: - 1 - 2 type: integer title: Budget Status description: Budget status for this financial item report group. example: gt: 0 total_time_entry_cost: title: Total Time Entry Cost description: Sum of time entry cost across all records in this financial item report group. example: gt: 0 future: type: integer title: Future description: Future for this financial item report group. example: eq: value total_scheduled_revenue_default: title: Total Scheduled Revenue Default description: Sum of scheduled revenue in the organization's default currency across all records in this financial item report group. example: eq: value report: title: Report description: Report for this financial item report group. example: eq: value total_recognized_time: type: number title: Total Recognized Time description: Sum of recognized time across all records in this financial item report group. example: gt: 0 scheduled_revenue: title: Scheduled Revenue description: Scheduled revenue for this financial item report group. example: eq: value credited: title: Credited description: Credited for this financial item report group. example: eq: value total_cost_normalized: title: Total Cost Normalized description: Sum of cost in the normalized currency across all records in this financial item report group. example: eq: value project_type: title: Project Type description: Project type for this financial item report group. example: eq: active deal_or_budget_report: title: Deal Or Budget Report description: Report object for the deal or budget associated with this financial item entry. example: gt: 0 total_invoiced: title: Total Invoiced description: Sum of invoiced across all records in this financial item report group. example: eq: value company_id: type: integer title: Company description: Company id for this financial item report group. example: - 123 total_billable_time: type: number title: Total Billable Time description: Sum of billable time across all records in this financial item report group. example: gt: 0 section: title: Section description: Section for this financial item report group. example: eq: value total_scheduled_cost: title: Total Scheduled Cost description: Sum of scheduled cost across all records in this financial item report group. example: eq: value total_expense_cost_normalized: title: Total Expense Cost Normalized description: Sum of expense cost in the normalized currency across all records in this financial item report group. example: eq: value total_credited_default: title: Total Credited Default description: Sum of credited in the organization's default currency across all records in this financial item report group. example: eq: value total_budgeted_time: type: number title: Total Budgeted Time description: Sum of budgeted time across all records in this financial item report group. example: gt: 0 total_recognized_revenue_default: title: Total Recognized Revenue Default description: Sum of recognized revenue in the organization's default currency across all records in this financial item report group. example: eq: value financial_item_description: type: string title: Financial Item Description description: Financial item description for this financial item report group. example: eq: value custom_fields: type: string title: Custom Fields description: Custom fields for this financial item report group. example: eq: value draft_invoiced: title: Draft Invoiced description: Whether this financial item entry has been draft invoiced. example: eq: value billing_type: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: Billing type for this financial item report group. example: eq: active origin_deal_report: title: Origin Deal Report description: Related origin deal report data for this financial item report group. example: eq: value financial_item_date: title: Financial Item Date description: Financial item date for this financial item report group. example: gt: '2026-01-01' budget: title: Budget description: Budget for this financial item report group. example: gt: 0 date_period: title: Date Period description: Time period grouping for date (e.g. week, month, quarter). example: eq: value company_billing_name: title: Company Billing Name description: Company billing name for this financial item report group. example: eq: value total_invoiced_normalized: title: Total Invoiced Normalized description: Sum of invoiced in the normalized currency across all records in this financial item report group. example: eq: value time_entry: title: Time Entry description: Time entry for this financial item report group. example: gt: 0 total_invoiced_default: title: Total Invoiced Default description: Sum of invoiced in the organization's default currency across all records in this financial item report group. example: eq: value total_recognized_revenue: title: Total Recognized Revenue description: Sum of recognized revenue across all records in this financial item report group. example: eq: value pipeline_id: type: integer title: Pipeline description: Pipeline id for this financial item report group. example: - 123 revenue_item: title: Revenue Item description: Revenue item for this financial item report group. example: eq: value average_blended_rate_normalized: title: Average Blended Rate Normalized description: Average blended rate in the normalized currency for this financial item report group. example: gt: 0 estimated_cost: title: Estimated Cost description: Estimated cost for this financial item report group. example: gt: 0 service_id: type: integer title: Service description: Service id for this financial item report group. example: - 123 description: An aggregated financial item report row combining budget, invoice, and time entry data for line-level profitability analysis. example: id: '123' type: financial_item_reports attributes: revenue: 50000 cost: 30000 profit: 20000 margin: 0.4 project_id: 45 relationships: {} resource_widget: type: object title: Widget Resource properties: dashboard_id: type: integer title: Dashboard description: ID of the dashboard this widget belongs to. example: - 123 params: title: Params description: Additional configuration parameters for this widget's data and display. example: eq: value attachments: title: Attachments description: Attachments linked to this widget. example: eq: value report_layout_id: type: integer title: Report Layout description: ID of the report layout used by this widget. example: - 123 widget_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 14 - 15 - 16 - 17 type: integer title: Widget Type description: The type of content this widget displays, such as Tasks, Report, or Note. example: - 123 default_filter_id: title: Default Filter description: ID of the default filter applied to this widget when no user filter is selected. example: - 123 height: type: integer title: Height description: The height of this widget in dashboard grid units. example: eq: value attachment_ids: title: Attachment Ids description: IDs of attachments to associate with this widget. example: - 123 - 456 title: type: string title: Title description: The display title shown at the top of this widget. example: eq: value dashboard: title: Dashboard description: The dashboard this widget belongs to. example: eq: value filter_id: type: integer title: Filter description: ID of the saved filter applied to this widget's data. example: - 123 column_position: type: integer title: Column Position description: The horizontal column position of this widget within the dashboard grid. example: eq: value content: type: string title: Content description: The rich text or HTML content of this widget, used for note-type widgets. example: eq: value width: type: integer title: Width description: The width of this widget in dashboard grid units. example: eq: value organization: title: Organization description: The organization this widget belongs to. example: eq: value filter: title: Filter description: The saved filter applied to this widget's data. example: eq: value row_position: type: integer title: Row Position description: The vertical row position of this widget within the dashboard grid. example: eq: value description: A widget is a configurable panel on a dashboard that displays a specific type of data such as tasks, time, expenses, or a report, and can be positioned and sized within the dashboard grid. example: id: '123' type: widgets attributes: widget_type: budget_chart title: Q1 Budget settings: {} relationships: {} _filter_root_custom_field_option: oneOf: - "$ref": "#/components/schemas/filter_custom_field_option" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_custom_field_option" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `custom_field_option` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_task_report: type: object title: Task report Resource properties: last_activity: type: string title: Last Activity format: date description: Timestamp of the most recent activity on this task. example: eq: value last_activity_after: type: string title: Last Activity After format: date description: Return tasks with last activity after this date. example: eq: value currency_normalized: title: Currency Normalized description: Whether monetary values are normalized to the default currency. example: eq: value after: type: string title: After format: date description: After for this task report group. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created the task. example: - 123 currency: title: Currency description: Currency code used for monetary values in this row. example: eq: value parent_task_id: type: integer title: Parent Task description: Parent task id for this task report group. example: - 123 workflow: title: Workflow description: Workflow for this task report group. example: eq: value jump_query: type: string title: Jump Query description: Jump query for this task report group. example: eq: value total_estimation_offset_time: type: integer title: Total Estimation Offset Time description: Sum of estimation offset time across all records in this task report group. example: gt: 0 company: title: Company description: Company for this task report group. example: eq: value group: type: string title: Group description: The grouping dimension for this task report row. example: eq: value bookable_after: type: string title: Bookable After format: date description: Filter task report entries to those bookable after this date. example: eq: value closed_after: type: string title: Closed After format: date description: 'Lower bound date filter: tasks closed after this date.' example: eq: value folder_id: type: integer title: Folder description: ID of the project folder containing the tasks. example: - 123 board_name: type: string title: Board Name description: Display name of the task list (board). example: eq: value workflow_id: type: integer title: Workflow description: Workflow id for this task report group. example: - 123 type_id: enum: - 1 - 3 type: integer title: Type description: Type id for this task report group. example: - 123 billable_time: type: integer title: Billable Time description: Total billable time (in minutes) tracked on tasks in this group. example: gt: 0 workflow_status_category_id: enum: - 1 - 2 - 3 type: integer title: Workflow Status Category description: Workflow status category id for this task report group. example: - 123 service: title: Service description: Service for this task report group. example: eq: value folder: title: Folder description: Name of the project folder containing the tasks. example: eq: value query_extended: type: string title: Query Extended description: Query extended for this task report group. example: eq: value assignee_id: type: integer title: Assignee description: ID of the assigned person. example: - 123 closed_before: type: string title: Closed Before format: date description: Closed before for this task report group. example: eq: value creator_report: title: Creator Report description: Person report dimension record for the creator. example: eq: value custom_fields: type: string title: Custom Fields description: Custom field values for tasks in this report group. example: eq: value task_start_date: title: Task Start Date description: Task start date for this task report group. example: gt: '2026-01-01' person_type: type: integer title: Person Type description: Person type for this task report group. example: eq: active last_actor_id: type: integer title: Last Actor description: Last actor id for this task report group. example: - 123 count: type: integer title: Count description: Number of tasks in this report group. example: gt: 0 total_estimate_at_completion: type: number title: Total Estimate At Completion description: Sum of estimate at completion across all records in this task report group. example: gt: '2026-01-01' last_actor: title: Last Actor description: Last actor for this task report group. example: eq: value start_date_period: title: Start Date Period description: Time period grouping for start date (e.g. week, month, quarter). example: gt: '2026-01-01' board_status: enum: - 1 - 2 type: integer title: Board Status description: 'Status of the task list (board): open or closed.' example: eq: active total_initial_estimate: type: number title: Total Initial Estimate description: Sum of initial estimate across all records in this task report group. example: gt: 0 parent_task: title: Parent Task description: Parent task for this task report group. example: eq: value subscriber_id: type: integer title: Subscriber description: Subscriber id for this task report group. example: - 123 currency_default: title: Currency Default description: Whether this row uses the organization default currency. example: eq: value last_activity_at_period: title: Last Activity At Period description: Time period grouping for last activity date (e.g. week, month, quarter). example: gt: '2026-01-01' start_date_after: type: string title: Start Date After format: date description: Start date after for this task report group. example: gt: '2026-01-01' closed_at_period: title: Closed At Period description: Time period grouping for closed at (e.g. week, month, quarter). example: gt: '2026-01-01' folder_status: enum: - 1 - 2 type: integer title: Folder Status description: Folder status for this task report group. example: eq: active due_date: type: string title: Due Date format: date description: Due date for this task report group. example: gt: '2026-01-01' board: title: Board description: Name of the task list (board) containing the tasks. example: eq: value before: type: string title: Before format: date description: The bookable-before date used to scope this report. example: eq: value created_at_period: title: Created At Period description: Period label for the created_at date grouping dimension. example: gt: '2026-01-01' task: title: Task description: Task for this task report group. example: eq: value total_remaining_time: type: number title: Total Remaining Time description: Sum of remaining time across all records in this task report group. example: gt: 0 query: type: string title: Query description: Query for this task report group. example: eq: value template_id: type: integer title: Template description: ID of the template that tasks in this report group were created from. example: - 123 assignee_report: title: Assignee Report description: Person report dimension record for the assignee. example: eq: value task_list: title: Task List description: Task list for this task report group. example: eq: value fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people for this task report group. example: eq: value task_due_date: title: Task Due Date description: Task due date for this task report group. example: gt: '2026-01-01' year: type: string title: Year description: Year grouping for this task report row. example: eq: value task_created_at: title: Task Created At description: Task created at for this task report group. example: gt: '2026-01-01' placement: title: Placement description: Placement for this task report group. example: eq: value repeating: type: integer title: Repeating description: Repeating for this task report group. example: eq: value task_list_name: type: string title: Task List Name description: Task list name for this task report group. example: eq: value project_manager_id: type: integer title: Project Manager description: Project manager id for this task report group. example: - 123 remaining_time: type: integer title: Remaining Time description: Remaining time for this task report group. example: gt: 0 dependency_type: enum: - 1 - 2 - 3 type: integer title: Dependency Type description: Dependency type for this task report group. example: eq: active task_list_status: enum: - 1 - 2 type: integer title: Task List Status description: Task list status for this task report group. example: eq: active workflow_status: title: Workflow Status description: Workflow status for this task report group. example: eq: active overdue_status: enum: - 1 - 2 type: integer title: Overdue Status description: Overdue status for this task report group. example: eq: active formulas: type: integer title: Formulas description: Formulas for this task report group. example: eq: value public_access: type: boolean title: Public Access description: Public access for this task report group. example: eq: value task_last_activity_at: title: Task Last Activity At description: Timestamp of the most recent activity on the task associated with this report row. example: gt: '2026-01-01' initial_estimate: type: integer title: Initial Estimate description: Initial estimate for this task report group. example: gt: 0 report: title: Report description: Report for this task report group. example: eq: value service_id: type: integer title: Service description: Service id for this task report group. example: - 123 due_date_new: type: string title: Due Date New format: date description: Due date in a normalized format for grouping. example: gt: '2026-01-01' formula_fields: title: Formula Fields description: Formula fields for this task report group. example: eq: value quarter: type: string title: Quarter description: Quarter grouping for this task report row. example: eq: value board_id: type: integer title: Board description: ID of the task list (board) containing the tasks. example: - 123 project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type for this task report group. example: eq: active last_activity_at: title: Last Activity At description: Timestamp of the most recent activity on this task. example: gt: '2026-01-01' worked_time: type: integer title: Worked Time description: Worked time for this task report group. example: gt: 0 workflow_status_id: type: integer title: Workflow Status description: Workflow status id for this task report group. example: - 123 created_at: type: string title: Created At format: date description: Timestamp when the task was created. example: gt: '2026-01-01' updated_at: type: string title: Updated At format: date description: Updated at for this task report group. example: gt: '2026-01-01' folder_name: type: string title: Folder Name description: Display name of the project folder. example: eq: value date_range: type: string title: Date Range format: date description: Date range (start date / due date) of the tasks. example: eq: value last_activity_before: type: string title: Last Activity Before format: date description: Return tasks with last activity before this date. example: eq: value due_date_after: type: string title: Due Date After format: date description: Due date after for this task report group. example: gt: '2026-01-01' creator: title: Creator description: Name of the person who created the task. example: eq: value assignee: title: Assignee description: Name of the assigned person. example: eq: value organization: title: Organization description: Organization for this task report group. example: eq: value total_worked_time: type: number title: Total Worked Time description: Sum of worked time across all records in this task report group. example: gt: 0 total_billable_time: type: number title: Total Billable Time description: Sum of billable time across all records in this task report group. example: gt: 0 trackable_by_person_id: type: integer title: Trackable By Person description: Filter task report entries to those trackable by the specified person, based on restricted tracking settings. example: - 123 project: title: Project description: Project for this task report group. example: eq: value bookable_before: type: string title: Bookable Before format: date description: Filter task report entries to those bookable before this date. example: eq: value due_date_on: type: string title: Due Date On format: date description: Exact due date match for filtering. example: gt: '2026-01-01' title: type: string title: Title description: Title for this task report group. example: eq: value project_id: type: integer title: Project description: Project id for this task report group. example: - 123 task_custom_fields: title: Task Custom Fields description: Task custom fields for this task report group. example: eq: value start_date: type: string title: Start Date format: date description: Start date for this task report group. example: gt: '2026-01-01' last_actor_report: title: Last Actor Report description: Last actor report for this task report group. example: eq: value task_closed_at: title: Task Closed At description: Task closed at for this task report group. example: gt: '2026-01-01' due_date_period: title: Due Date Period description: Period label for the due_date grouping dimension. example: gt: '2026-01-01' subtask: type: boolean title: Subtask description: Subtask for this task report group. example: eq: value template: type: string title: Template description: Template for this task report group. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: Status for this task report group. example: eq: active full_query: type: string title: Full Query description: Full query for this task report group. example: eq: value project_report: title: Project Report description: Project report for this task report group. example: eq: value closed_at: type: string title: Closed At format: date description: Date when the task was closed. example: gt: '2026-01-01' tags: type: string title: Tags description: Tags for this task report group. example: eq: value week: type: string title: Week description: Week grouping for this task report row. example: eq: value start_date_before: type: string title: Start Date Before format: date description: Start date before for this task report group. example: gt: '2026-01-01' id: type: integer title: Id description: Unique identifier for this task report row. example: - 123 task_number: type: string title: Task Number description: Task number for this task report group. example: eq: value task_type: enum: - 1 - 2 type: integer title: Task Type description: Task type for this task report group. example: eq: active company_id: type: integer title: Company description: Company id for this task report group. example: - 123 fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy dates for this task report group. example: gt: '2026-01-01' due_date_before: type: string title: Due Date Before format: date description: 'Upper bound date filter: tasks with a due date before this date.' example: gt: '2026-01-01' task_list_id: type: integer title: Task List description: Task list id for this task report group. example: - 123 month: type: string title: Month description: Month grouping for this task report row. example: eq: value service_report: title: Service Report description: Service report for this task report group. example: eq: value company_report: title: Company Report description: Company report dimension record for the company. example: eq: value description: An aggregated task report row grouping tasks by configurable dimensions with work metrics, time tracking totals, and status breakdowns. example: id: '123' type: task_reports attributes: total_tasks: 150 completed_tasks: 120 overdue_tasks: 5 project_id: 45 relationships: {} resource_timesheet: type: object title: Timesheet Resource properties: creator_id: type: integer title: Creator description: The ID of the person who created this timesheet. example: - 123 person_id: type: integer title: Person description: The ID of the person this timesheet belongs to. example: - 123 organization: title: Organization description: The organization this timesheet belongs to. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when the timesheet was created. example: gt: '2026-01-01' id: title: Id description: Unique identifier for the timesheet. example: - 123 creator: title: Creator description: The person who created this timesheet. example: eq: value date: type: string title: Date format: date description: The date this timesheet covers. example: gt: '2026-01-01' person: title: Person description: The person this timesheet belongs to. example: eq: value description: A daily aggregate of a person's time entries, serving as the unit of submission in the time approval workflow. example: id: '123' type: timesheets attributes: week_starting: '2026-01-13' status: submitted total_hours: 40 relationships: person: data: type: people id: '12' filter_survey: type: object title: Filter survey properties: title: oneOf: - "$ref": "#/components/schemas/resource_survey/properties/title" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_survey/properties/title" eq: "$ref": "#/components/schemas/resource_survey/properties/title" not_contain: "$ref": "#/components/schemas/resource_survey/properties/title" not_eq: "$ref": "#/components/schemas/resource_survey/properties/title" description: Filter using explicit operator syntax. example: eq: value description: Filter by survey title (text search). example: eq: value query: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_survey/properties/query" not_eq: "$ref": "#/components/schemas/resource_survey/properties/query" contains: "$ref": "#/components/schemas/resource_survey/properties/query" eq: "$ref": "#/components/schemas/resource_survey/properties/query" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_survey/properties/query" description: Filter by title (text search). example: eq: value id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_survey/properties/id" eq: "$ref": "#/components/schemas/resource_survey/properties/id" not_contain: "$ref": "#/components/schemas/resource_survey/properties/id" not_eq: "$ref": "#/components/schemas/resource_survey/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_survey/properties/id" description: Filter by ID. example: - 123 creator_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_survey/properties/creator_id" contains: "$ref": "#/components/schemas/resource_survey/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_survey/properties/creator_id" eq: "$ref": "#/components/schemas/resource_survey/properties/creator_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_survey/properties/creator_id" description: Filter by the person who created the survey. example: - 123 created_at: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_survey/properties/created_at" eq: "$ref": "#/components/schemas/resource_survey/properties/created_at" contains: "$ref": "#/components/schemas/resource_survey/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_survey/properties/created_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_survey/properties/created_at" description: Filter by creation date range. example: gt: '2026-01-01' project_id: oneOf: - "$ref": "#/components/schemas/resource_survey/properties/project_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_survey/properties/project_id" eq: "$ref": "#/components/schemas/resource_survey/properties/project_id" contains: "$ref": "#/components/schemas/resource_survey/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_survey/properties/project_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated project. example: - 123 editable: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_survey/properties/editable" not_contain: "$ref": "#/components/schemas/resource_survey/properties/editable" contains: "$ref": "#/components/schemas/resource_survey/properties/editable" eq: "$ref": "#/components/schemas/resource_survey/properties/editable" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_survey/properties/editable" description: Filter to include only surveys that the current user has full edit access to. example: eq: value patternProperties: "^creator..*$": title: Creator relationship "^project..*$": title: Project relationship description: Filter parameters for listing surveys. Supports filtering by project, creator, and status. Standard ID operators apply. example: id: eq: '123' resource_custom_field_section: type: object title: Custom field section Resource properties: organization: title: Organization description: The organization this custom field section belongs to. example: eq: value customizable_type: title: Customizable Type description: The type of resource whose custom fields this section groups (e.g. tasks, projects, people). example: eq: active position: type: integer title: Position description: The display order position of this section among custom field sections. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: The current status of the custom field section (e.g. active). example: eq: active name: type: string title: Name description: The display name of this custom field section. example: eq: value description: The resource custom field section. example: id: '12' type: custom_field_sections attributes: name: Project Fields position: 1 item_type: project relationships: {} _not_included: type: object title: Not included properties: meta: type: object properties: included: enum: - false type: boolean description: Whether the related resource was included in the sideloaded data. Always `false` for this variant. example: false description: Metadata indicating the sideload status of this relationship. example: included: false description: Placeholder for a relationship that was not sideloaded in this response. example: meta: included: false _filter_root_payment_reminder_sequence: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_payment_reminder_sequence" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_payment_reminder_sequence" description: Filter schema for `payment_reminder_sequence` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_service_type: type: object title: Service type Resource properties: name: type: string title: Name description: The name of this service type. example: eq: value assignees: title: Assignees description: Array of people assigned to this service type. example: eq: value archived_at: type: string title: Archived At format: date-time description: Timestamp when this service type was archived, or null if active. example: gt: '2026-01-01' id: type: integer title: Id description: The unique identifier of this service type. example: - 123 person_id: type: integer title: Person description: ID of the person used to filter service types by assignee. example: - 123 organization: title: Organization description: The organization this service type belongs to. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: 'The archival status of this service type: active or archived.' example: eq: active query: type: string title: Query description: A search query string used to filter service types by name. example: eq: value description: Represents a category of work an organization delivers, used to classify services on deals and budgets. example: id: '123' type: service_types attributes: name: Design billing_type: hourly relationships: {} resource_invitation: type: object title: Invitation Resource properties: time_zone: type: string title: Time Zone description: The time zone preference for the invited user, applied after they accept the invitation. example: gt: 0 last_name: type: string title: Last Name description: The last name of the invited user. example: eq: value newsletter_consent: type: boolean title: Newsletter Consent description: Whether the invited user consented to receive marketing emails. example: eq: value email: type: string title: Email description: The email address of the invited user. example: eq: value first_name: type: string title: First Name description: The first name of the invited user. example: eq: value password: title: Password description: The initial password the invited user sets when accepting the invitation. example: eq: value description: A pending user invitation to join a Productive organization, identified by an invitation token. example: id: '123' type: invitations attributes: email: newuser@example.com role: member status: pending sent_at: '2026-01-15T10:00:00Z' relationships: {} resource_payment: type: object title: Payment Resource properties: organization: title: Organization description: The organization this payment belongs to. example: data: type: organizations id: '109' amount_normalized: title: Amount Normalized description: The payment amount converted to the normalized (reporting) currency. example: 200000 note: type: string title: Note description: An optional note or memo about this payment. example: 'Wire transfer ref: WT-9281' budget_id: type: integer title: Budget description: ID of the budget (deal) associated with the invoice this payment was applied to. example: 456789 paid_after: type: string title: Paid After format: date description: Filter for payments made after this date (used as a filter parameter). example: '2026-03-01' invoice_id: type: integer title: Invoice description: ID of the invoice this payment was applied to. example: 789012 query: type: string title: Query description: A full-text search query to filter payments by invoice number or note. example: INV-2026 paid_on: type: string title: Paid On format: date description: Date when the payment was received (paid). example: '2026-03-15' currency_default: title: Currency Default description: The organization's default currency for this payment. example: EUR amount: type: integer title: Amount description: The payment amount in the invoice's currency. example: 200000 external_id: type: string title: External description: An external identifier for this payment, used when syncing with third-party accounting systems. example: xero-pay-456 number: type: string title: Number description: The auto-generated sequence number for this payment. example: PAY-2026-015 invoice: title: Invoice description: The invoice this payment was applied to. example: data: type: invoices id: '789012' invoice_number: title: Invoice Number description: The invoice number of the associated invoice at the time this payment was recorded. example: INV-2026-042 currency: title: Currency description: The currency of this payment, inherited from the associated invoice. example: GBP project_id: type: integer title: Project description: ID of the project associated with the invoice this payment was applied to. example: 567890 amount_default: title: Amount Default description: The payment amount converted to the organization's default currency. example: 232000 paid_before: type: string title: Paid Before format: date description: Filter for payments made before this date (used as a filter parameter). example: '2026-03-31' written_off_on: type: string title: Written Off On format: date description: Date when this payment was written off as uncollectable, or null if the payment is not written off. example: company_id: type: integer title: Company description: ID of the company (client) on the invoice this payment was applied to. example: 234567 id: type: integer title: Id description: Unique identifier of this payment. example: 345678 date: title: Date description: Date when the payment was recorded. example: '2026-03-15' currency_normalized: title: Currency Normalized description: The normalized (reporting) currency for this payment. example: GBP subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary associated with the invoice this payment was applied to. example: 234 description: A payment record representing an amount received against an invoice, internally referred to as an InvoicePayment. example: id: '67' type: payments attributes: amount: '5000.00' currency: USD paid_on: '2026-03-10' note: created_at: '2026-03-10T12:00:00.000+00:00' relationships: invoice: data: type: invoices id: '234' resource_price_report: type: object title: Price report Resource properties: report: title: Report description: Report for this price report group. example: eq: value average_markup_amount_default: title: Average Markup Amount Default description: Average markup amount in the organization's default currency for this price report group. example: gt: 0 time_tracking_enabled: type: integer title: Time Tracking Enabled description: Time tracking enabled for this price report group. example: gt: 0 formula_fields: title: Formula Fields description: Formula fields for this price report group. example: eq: value custom_fields: type: string title: Custom Fields description: Custom fields for this price report group. example: eq: value company_report: title: Company Report description: Company report for this price report group. example: eq: value rate_card: title: Rate Card description: Rate card for this price report group. example: gt: 0 price_quantity: title: Price Quantity description: Price quantity for this price report group. example: gt: 0 rate_card_status: enum: - 1 - 2 type: integer title: Rate Card Status description: Rate card status for this price report group. example: gt: 0 average_rate: title: Average Rate description: Average rate for this price report group. example: gt: 0 company_id: type: integer title: Company description: Company id for this price report group. example: - 123 group: type: string title: Group description: The grouping dimension for this price report row. example: eq: value average_discounted_rate_default: title: Average Discounted Rate Default description: Average discounted rate in the organization's default currency for this price report group. example: gt: 0 organization: title: Organization description: Organization for this price report group. example: eq: value service_type: title: Service Type description: Service type for this price report group. example: eq: active average_discounted_rate_normalized: title: Average Discounted Rate Normalized description: Average discounted rate in the normalized currency for this price report group. example: gt: 0 billing_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: Billing type id for this price report group. example: - 123 company: title: Company description: Company for this price report group. example: eq: value price_name: title: Price Name description: Price name for this price report group. example: gt: 0 average_rate_normalized: title: Average Rate Normalized description: Average rate in the normalized currency for this price report group. example: gt: 0 price: title: Price description: Price for this price report group. example: gt: 0 average_discount_amount_default: title: Average Discount Amount Default description: Average discount amount in the organization's default currency for this price report group. example: gt: 0 currency: type: string title: Currency description: Currency for this price report group. example: eq: value average_estimated_cost: title: Average Estimated Cost description: Average estimated cost for this price report group. example: gt: 0 rate_card_id: type: integer title: Rate Card description: Rate card id for this price report group. example: - 123 price_description: title: Price Description description: Price description for this price report group. example: gt: 0 currency_normalized: title: Currency Normalized description: Currency in the normalized currency for this price report group. example: eq: value expense_tracking_enabled: type: integer title: Expense Tracking Enabled description: Expense tracking enabled for this price report group. example: eq: value id: type: integer title: Id description: Unique identifier for this price report row. example: - 123 average_discount_amount: title: Average Discount Amount description: Average discount amount for this price report group. example: gt: 0 average_estimated_cost_normalized: title: Average Estimated Cost Normalized description: Average estimated cost in the normalized currency for this price report group. example: gt: 0 average_markup_amount_normalized: title: Average Markup Amount Normalized description: Average markup amount in the normalized currency for this price report group. example: gt: 0 average_estimated_cost_default: title: Average Estimated Cost Default description: Average estimated cost in the organization's default currency for this price report group. example: gt: 0 average_discount: type: number title: Average Discount description: Average discount for this price report group. example: gt: 0 booking_tracking_enabled: type: integer title: Booking Tracking Enabled description: Booking tracking enabled for this price report group. example: eq: value count: type: integer title: Count description: Number of prices in this report group. example: gt: 0 average_rate_default: title: Average Rate Default description: Average rate in the organization's default currency for this price report group. example: gt: 0 average_markup_amount: title: Average Markup Amount description: Average markup amount for this price report group. example: gt: 0 average_markup: type: number title: Average Markup description: Average markup for this price report group. example: eq: value unit_id: enum: - 1 - 2 - 3 type: integer title: Unit description: Unit id for this price report group. example: - 123 service_type_id: type: integer title: Service Type description: Service type id for this price report group. example: - 123 average_discounted_rate: title: Average Discounted Rate description: Average discounted rate for this price report group. example: gt: 0 currency_default: title: Currency Default description: Currency in the organization's default currency for this price report group. example: eq: value average_discount_amount_normalized: title: Average Discount Amount Normalized description: Average discount amount in the normalized currency for this price report group. example: gt: 0 description: An aggregated price report row grouping rate card prices by configurable dimensions. example: id: '123' type: price_reports attributes: total_price: 75000 currency: USD project_id: 45 relationships: {} _filter_root_workflow_status: oneOf: - "$ref": "#/components/schemas/filter_workflow_status" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_workflow_status" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `workflow_status` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_email: type: object title: Email Resource properties: creator: title: Creator description: The person who created or sent this email. example: eq: value status: enum: - 1 - 2 - 3 type: integer title: Status description: 'The inbox status of this email: unresolved (1), resolved/linked (2), or dismissed (3).' example: eq: active created_at: type: string title: Created At format: date-time description: Timestamp when this email record was created in Productive. example: gt: '2026-01-01' payment_reminder: title: Payment Reminder description: The payment reminder this email is associated with. example: eq: value subject: type: string title: Subject description: The subject line of this email. example: eq: value from: type: string title: From description: The sender's email address. example: eq: value organization: title: Organization description: The organization this email belongs to. example: eq: value id: type: integer title: Id description: The unique identifier of this email. example: - 123 to_recipients: title: To Recipients description: The primary (To:) recipients of this email. example: eq: value after: type: string title: After format: date description: Filter emails created after this date. example: eq: value invoice: title: Invoice description: The invoice this email is linked to. example: eq: value deal: title: Deal description: The deal or quote this email is linked to. example: eq: value body_truncated: title: Body Truncated description: A truncated version of the plain text body, used for preview purposes. example: eq: value bcc_recipients: title: Bcc Recipients description: The BCC recipients of this email. example: eq: value snippet: type: string title: Snippet description: A short preview snippet of the email content. example: eq: value body_html: title: Body Html description: The raw HTML body of this email, available when the email inbox feature is enabled. example: eq: value company_id: type: integer title: Company description: Filter to return emails associated with a specific company, matched via recipients, deals, or invoices. example: - 123 failed_at: type: string title: Failed At format: date-time description: Timestamp when delivery of this email failed, or null if no failure occurred. example: gt: '2026-01-01' linked_type: type: string title: Linked Type description: The type of resource this email is linked to (e.g. Quote, Invoice, Workspace). example: eq: active body: title: Body description: The plain text body of this email. example: eq: value before: type: string title: Before format: date description: Filter emails created before this date. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created or sent this email. example: - 123 outgoing: type: boolean title: Outgoing description: Whether this email was sent outgoing from Productive, as opposed to an incoming received email. example: eq: value attachments: title: Attachments description: The file attachments associated with this email. example: eq: value thread: title: Thread description: The email inbox thread this email belongs to. example: eq: value sender_or_recipient_id: type: integer title: Sender Or Recipient description: The sender or recipient id. example: - 123 external_id: type: string title: External description: The external identifier of this email from the originating email provider. example: - 123 cc_recipients: title: Cc Recipients description: The CC recipients of this email. example: eq: value dismissed_at: type: string title: Dismissed At format: date-time description: Timestamp when this email was dismissed from the inbox, or null if it has not been dismissed. example: gt: '2026-01-01' linked_id: type: integer title: Linked description: The ID of the polymorphic resource this email is linked to (deal, invoice, workspace, etc.). example: - 123 auto_linked: type: boolean title: Auto Linked description: Whether this email was automatically linked to a deal or resource by the system. example: eq: value delivered_at: type: string title: Delivered At format: date-time description: Timestamp when this email was successfully delivered, or null if not yet delivered. example: gt: '2026-01-01' recipient_id: type: integer title: Recipient description: Filter to return emails where this person is a recipient. example: - 123 recipients: title: Recipients description: A grouped map of recipients by type (to, cc, bcc), each with address, person ID, and delivery status. example: eq: value received_at: type: string title: Received At format: date-time description: Timestamp when this email was received from the external provider. example: gt: '2026-01-01' unread: type: boolean title: Unread description: Whether this email has been marked as unread. example: eq: value integration: title: Integration description: The email integration (inbox connection) through which this email was synced. example: eq: value participants: title: Participants description: The people who participated in this email thread as senders or recipients. example: eq: value description: A synced email message linked to deals, invoices, companies, or other resources in Productive. example: id: '123' type: emails attributes: subject: Project update from: client@example.com to: team@agency.com received_at: '2026-01-15T09:00:00Z' body: Hi, here is the latest update... relationships: {} resource_overhead: type: object title: Overhead Resource properties: internal_componentized_costs_default: title: Internal Componentized Costs Default description: The internal componentized costs default. example: eq: value time_off_costs_default: title: Time Off Costs Default description: The time off costs default. example: gt: 0 undertracked_costs_default: title: Undertracked Costs Default description: The undertracked costs converted to the organization's default currency. example: eq: value undertracked_costs_normalized: title: Undertracked Costs Normalized description: The undertracked costs in the normalized (display) currency. example: eq: value recalculated_at: type: string title: Recalculated At format: date-time description: Timestamp when the overhead costs were last recalculated from tracked time and bookings. example: gt: '2026-01-01' overhead_controls: type: object title: Overhead Controls description: A set of flags controlling which overhead types (facility, work, time-off, expense, undertime, overtime) are included in cost calculations. example: eq: value new_internal_cost_per_hour: title: New Internal Cost Per Hour description: The new internal cost per hour. example: eq: value facility_cost_per_hour_normalized: title: Facility Cost Per Hour Normalized description: The facility cost per hour normalized. example: eq: value time_off_hours: type: number title: Time Off Hours description: Total paid time-off hours taken by employees during this overhead period. example: gt: 0 internal_work_costs_default: title: Internal Work Costs Default description: The internal work costs default. example: eq: value internal_componentized_costs: title: Internal Componentized Costs description: The total internal costs including work, time-off, and expenses, adjusted for overhead inclusion controls. example: eq: value client_overhead_hours: type: number title: Client Overhead Hours description: Hours tracked on billable client projects that are marked as overhead during this period. example: eq: value uses_averaging: type: boolean title: Uses Averaging description: When true, overhead costs are averaged over multiple past periods rather than using a single period's values. example: eq: value currency: type: string title: Currency description: The currency of monetary values in this overhead record. example: eq: value facility_costs_normalized: title: Facility Costs Normalized description: The facility costs in the normalized (display) currency. example: eq: value undertracked_costs: title: Undertracked Costs description: The cost associated with undertracked hours — when employees tracked less time than their scheduled capacity. example: eq: value currency_normalized: title: Currency Normalized description: The monetary values in this overhead record in the normalized (display) currency. example: eq: value internal_work_costs: title: Internal Work Costs description: The total cost of time tracked on internal projects during this overhead period. example: eq: value overtracked_costs_default: title: Overtracked Costs Default description: The overtracked costs converted to the organization's default currency. example: eq: value time_off_overhead_hours: type: number title: Time Off Overhead Hours description: The time off overhead hours. example: gt: 0 averaging_period: type: integer title: Averaging Period description: The number of past overhead periods used to calculate projected estimates when averaging is enabled. example: eq: value overtracked_hours: type: number title: Overtracked Hours description: Hours tracked in excess of the employee's scheduled capacity during this period. example: eq: value new_internal_cost_per_hour_default: title: New Internal Cost Per Hour Default description: The new internal cost per hour default. example: eq: value internal_hours: type: number title: Internal Hours description: Total hours tracked on internal (non-billable) projects during this overhead period. example: eq: value facility_costs_default: title: Facility Costs Default description: The facility costs converted to the organization's default currency. example: eq: value client_hours: type: number title: Client Hours description: Total hours tracked on billable client projects during this overhead period. example: eq: value overtracked_costs: title: Overtracked Costs description: The cost associated with overtracked hours — when employees tracked more time than their scheduled capacity. example: eq: value total_hours: type: number title: Total Hours description: Total hours tracked across all project types during this overhead period. example: eq: value capacity: type: number title: Capacity description: The total available work capacity in hours for the period, based on employee schedules. example: eq: value undertracked_hours: type: number title: Undertracked Hours description: Hours not tracked by employees relative to their scheduled capacity during this period. example: eq: value internal_componentized_costs_normalized: title: Internal Componentized Costs Normalized description: The internal componentized costs normalized. example: eq: value internal_expense_costs_normalized: title: Internal Expense Costs Normalized description: The internal expense costs normalized. example: eq: value updater: title: Updater description: The person who last updated this overhead record. example: eq: value recalculating_status: type: object title: Recalculating Status description: The current recalculation status of this overhead, tracking whether bookings and time entries have been processed. example: eq: active exchange_rate: type: number title: Exchange Rate description: The exchange rate used to convert costs to the organization's default currency for this period. example: gt: 0 internal_overhead_hours: type: number title: Internal Overhead Hours description: Hours tracked on internal projects that are marked as overhead during this period. example: eq: value internal_expense_costs_default: title: Internal Expense Costs Default description: The internal expense costs default. example: eq: value started_on: type: string title: Started On format: date description: Date when this overhead period starts. example: eq: value facility_costs: type: integer title: Facility Costs description: The total facility (office and infrastructure) costs allocated to this overhead period. example: eq: value overhead_hours: type: number title: Overhead Hours description: Total hours marked as overhead across all project types during this period. example: eq: value facility_cost_per_hour_default: title: Facility Cost Per Hour Default description: The facility cost per hour default. example: eq: value organization: title: Organization description: The organization this overhead record belongs to. example: eq: value use_overhead: type: boolean title: Use Overhead description: When true, overhead calculations are enabled and applied to cost rate computations for this subsidiary. example: eq: value facility_costs_breakdown: type: object title: Facility Costs Breakdown description: A breakdown of facility costs by category (e.g. rent, utilities) for this overhead period. example: eq: value time_off_costs: title: Time Off Costs description: The total cost of paid time-off hours during this overhead period. example: gt: 0 overtracked_costs_normalized: title: Overtracked Costs Normalized description: The overtracked costs in the normalized (display) currency. example: eq: value currency_default: title: Currency Default description: The monetary values in this overhead record converted to the organization's default currency. example: eq: value subsidiary: title: Subsidiary description: The subsidiary this overhead record is associated with (null for global overheads). example: eq: value internal_work_costs_normalized: title: Internal Work Costs Normalized description: The internal work costs normalized. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this overhead record is associated with (null for global overheads). example: - 123 updated_at: type: string title: Updated At format: date-time description: Timestamp when this overhead record was last updated. example: gt: '2026-01-01' new_internal_cost_per_hour_normalized: title: New Internal Cost Per Hour Normalized description: The new internal cost per hour normalized. example: eq: value time_off_costs_normalized: title: Time Off Costs Normalized description: The time off costs normalized. example: gt: 0 facility_cost_per_hour: title: Facility Cost Per Hour description: The facility cost per hour. example: eq: value ended_on: type: string title: Ended On format: date description: Date when this overhead period ends, or null if this is the current projection period. example: eq: value internal_expense_costs: title: Internal Expense Costs description: The total cost of internal expense reports during this overhead period. example: eq: value description: An overhead record representing the internal cost breakdown for a subsidiary over a billing period. example: id: '23' type: overheads attributes: name: Team Building & Offsites archived_at: relationships: {} _filter_root_task: oneOf: - "$ref": "#/components/schemas/filter_task" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_task" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `task` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_team_membership: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_team_membership" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_team_membership" description: Filter schema for `team_membership` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_entitlement_report: oneOf: - "$ref": "#/components/schemas/filter_entitlement_report" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_entitlement_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `entitlement_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_custom_field_option: type: object title: Custom field option Resource properties: organization: title: Organization description: The organization this custom field option belongs to. example: eq: value color_id: type: integer title: Color description: ID of the color associated with this option for visual identification. example: - 123 archived_at: type: string title: Archived At format: date-time description: Timestamp when this option was archived, or null if not archived. example: gt: '2026-01-01' name: type: string title: Name description: The display label for this custom field option. example: eq: value custom_field: title: Custom Field description: The custom field this option belongs to. example: eq: value custom_field_id: type: integer title: Custom Field description: ID of the custom field this option belongs to. example: - 123 position: type: integer title: Position description: The sort order of this option within the custom field's option list. example: eq: value archived: type: boolean title: Archived description: Whether this custom field option has been archived and is no longer available for selection. example: true description: Selectable option for a dropdown or multi-select custom field. Supports a name, position ordering, color, and archiving. Archived options remain on existing records but are hidden from new selections. example: id: '170576' type: custom_field_options attributes: name: High color_id: '1' position: 1 archived_at: relationships: custom_field: data: type: custom_fields id: '53455' _filter_root_custom_field: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_custom_field" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_custom_field" description: Filter schema for `custom_field` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_deal_funnel_report: type: object title: Filter deal funnel report properties: budget_total: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/budget_total" eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/budget_total" not_contain: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/budget_total" not_eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/budget_total" description: Filter operator object for budget total. example: gt: 0 - "$ref": "#/components/schemas/resource_deal_funnel_report/properties/budget_total" description: Filter deal funnel report results by budget total. example: gt: 0 formulas: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/formulas" eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/formulas" description: Filter operator object for formulas. example: eq: value - "$ref": "#/components/schemas/resource_deal_funnel_report/properties/formulas" description: Filter deal funnel report results by formulas. example: eq: value pipeline_id: oneOf: - "$ref": "#/components/schemas/resource_deal_funnel_report/properties/pipeline_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/pipeline_id" not_eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/pipeline_id" contains: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/pipeline_id" eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/pipeline_id" description: Filter operator object for pipeline id. example: - 123 description: Filter deal funnel report results by pipeline id. example: - 123 projected_revenue: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/projected_revenue" contains: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/projected_revenue" not_eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/projected_revenue" not_contain: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/projected_revenue" description: Filter operator object for projected revenue. example: eq: value - "$ref": "#/components/schemas/resource_deal_funnel_report/properties/projected_revenue" description: Filter deal funnel report results by projected revenue. example: eq: value date: oneOf: - "$ref": "#/components/schemas/resource_deal_funnel_report/properties/date" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/date" eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/date" not_contain: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/date" not_eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/date" description: Filter operator object for date. example: gt: '2026-01-01' description: Filter deal funnel report results by date. example: gt: '2026-01-01' created_at: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/created_at" eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/created_at" contains: "$ref": "#/components/schemas/resource_deal_funnel_report/properties/created_at" description: Filter operator object for created at. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_deal_funnel_report/properties/created_at" description: Filter deal funnel report results by created at. example: gt: '2026-01-01' patternProperties: "^deal..*$": title: Deal relationship "^company..*$": title: Company relationship "^project..*$": title: Project relationship "^pipeline..*$": title: Pipeline relationship "^deal_status..*$": title: Deal status relationship "^responsible..*$": title: Responsible relationship description: Available filter parameters for querying aggregated deal funnel report data. example: id: eq: '123' filter_entitlement: type: object title: Filter entitlement properties: allocated: oneOf: - "$ref": "#/components/schemas/resource_entitlement/properties/allocated" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_entitlement/properties/allocated" not_eq: "$ref": "#/components/schemas/resource_entitlement/properties/allocated" not_contain: "$ref": "#/components/schemas/resource_entitlement/properties/allocated" eq: "$ref": "#/components/schemas/resource_entitlement/properties/allocated" description: Filter using explicit operator syntax. example: eq: value description: Filter by the number of days allocated in the entitlement. example: eq: value date: oneOf: - "$ref": "#/components/schemas/resource_entitlement/properties/date" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_entitlement/properties/date" eq: "$ref": "#/components/schemas/resource_entitlement/properties/date" not_contain: "$ref": "#/components/schemas/resource_entitlement/properties/date" contains: "$ref": "#/components/schemas/resource_entitlement/properties/date" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter entitlements active on a specific date (where start_date <= date <= end_date). example: gt: '2026-01-01' event_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_entitlement/properties/event_id" not_contain: "$ref": "#/components/schemas/resource_entitlement/properties/event_id" eq: "$ref": "#/components/schemas/resource_entitlement/properties/event_id" not_eq: "$ref": "#/components/schemas/resource_entitlement/properties/event_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_entitlement/properties/event_id" description: Filter by the associated absence event type. example: - 123 used: oneOf: - "$ref": "#/components/schemas/resource_entitlement/properties/used" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_entitlement/properties/used" contains: "$ref": "#/components/schemas/resource_entitlement/properties/used" eq: "$ref": "#/components/schemas/resource_entitlement/properties/used" not_eq: "$ref": "#/components/schemas/resource_entitlement/properties/used" description: Filter using explicit operator syntax. example: eq: value description: Filter by the number of days used from the entitlement. example: eq: value person_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_entitlement/properties/person_id" contains: "$ref": "#/components/schemas/resource_entitlement/properties/person_id" eq: "$ref": "#/components/schemas/resource_entitlement/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_entitlement/properties/person_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_entitlement/properties/person_id" description: Filter by the associated person. example: - 123 start_date: oneOf: - "$ref": "#/components/schemas/resource_entitlement/properties/start_date" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_entitlement/properties/start_date" not_contain: "$ref": "#/components/schemas/resource_entitlement/properties/start_date" contains: "$ref": "#/components/schemas/resource_entitlement/properties/start_date" eq: "$ref": "#/components/schemas/resource_entitlement/properties/start_date" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter by entitlement start date range (`start_date`). example: gt: '2026-01-01' end_date: oneOf: - "$ref": "#/components/schemas/resource_entitlement/properties/end_date" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_entitlement/properties/end_date" not_eq: "$ref": "#/components/schemas/resource_entitlement/properties/end_date" not_contain: "$ref": "#/components/schemas/resource_entitlement/properties/end_date" eq: "$ref": "#/components/schemas/resource_entitlement/properties/end_date" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter by entitlement end date range (`end_date`). example: gt: '2026-01-01' id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_entitlement/properties/id" contains: "$ref": "#/components/schemas/resource_entitlement/properties/id" not_contain: "$ref": "#/components/schemas/resource_entitlement/properties/id" eq: "$ref": "#/components/schemas/resource_entitlement/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_entitlement/properties/id" description: Filter by entitlement ID. example: - 123 patternProperties: "^event..*$": title: Event relationship "^person..*$": title: Person relationship description: Filter parameters for listing entitlements (time-off balances). Supports filtering by person, event (absence category), date range, and approval workflow. Standard ID and date operators apply. example: id: eq: '123' filter_organization_membership: type: object title: Filter organization membership properties: organization_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_organization_membership/properties/organization_id" eq: "$ref": "#/components/schemas/resource_organization_membership/properties/organization_id" not_eq: "$ref": "#/components/schemas/resource_organization_membership/properties/organization_id" not_contain: "$ref": "#/components/schemas/resource_organization_membership/properties/organization_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_organization_membership/properties/organization_id" description: Filter by the associated organization. example: - 123 patternProperties: {} description: Filter parameters for listing organization memberships. Supports filtering by organization and person. Standard ID operators apply. example: id: eq: '123' resource_booking_report: type: object title: Booking report Resource properties: date_after: type: string title: Date After format: date description: Date after for this booking report group. example: eq: value started_on: type: string title: Started On format: date description: Started on for this booking report group. example: eq: value booking: title: Booking description: Booking for this booking report group. example: eq: value canceled_at: type: string title: Canceled At format: date description: Canceled at for this booking report group. example: gt: '2026-01-01' task_report: title: Task Report description: Task report for this booking report group. example: eq: value task: title: Task description: Task for this booking report group. example: eq: value rejected_at_period: title: Rejected At Period description: Time period grouping for rejected at (e.g. week, month, quarter). example: gt: '2026-01-01' booking_type: enum: - service - event type: string title: Booking Type description: Booking type for this booking report group. example: eq: active end_date: type: string title: End Date format: date description: End date for this booking report group. example: gt: '2026-01-01' budget_id: type: integer title: Budget description: Budget id for this booking report group. example: - 123 created_at: type: string title: Created At format: date description: Created at for this booking report group. example: gt: '2026-01-01' company_report: title: Company Report description: Company report for this booking report group. example: eq: value note: type: string title: Note description: Note for this booking report group. example: eq: value draft: type: integer title: Draft description: Draft for this booking report group. example: eq: value currency: type: string title: Currency description: Currency for this booking report group. example: eq: value count: type: integer title: Count description: Number of bookings in this report group. example: gt: 0 with_draft: type: boolean title: With Draft description: With draft for this booking report group. example: eq: value organization: title: Organization description: Organization for this booking report group. example: eq: value approved_at_period: title: Approved At Period description: Time period grouping for approved at (e.g. week, month, quarter). example: gt: '2026-01-01' created_at_period: title: Created At Period description: Time period grouping for created at (e.g. week, month, quarter). example: gt: '2026-01-01' started_on_before: type: string title: Started On Before format: date description: Started on before for this booking report group. example: eq: value total_base_cost: title: Total Base Cost description: Sum of base cost across all records in this booking report group. example: eq: value project_id: type: integer title: Project description: Project id for this booking report group. example: - 123 average_blended_rate_default: title: Average Blended Rate Default description: Average blended rate in the organization's default currency for this booking report group. example: gt: 0 approved_at: type: string title: Approved At format: date description: Approved at for this booking report group. example: gt: '2026-01-01' people_custom_fields: type: string title: People Custom Fields description: People custom fields for this booking report group. example: eq: value approval_status: enum: - 1 - 2 - 3 - 5 type: integer title: Approval Status description: Approval status for this booking report group. example: eq: active total_recognized_revenue_normalized: title: Total Recognized Revenue Normalized description: Sum of recognized revenue in the normalized currency across all records in this booking report group. example: eq: value start_date: type: string title: Start Date format: date description: Start date for this booking report group. example: gt: '2026-01-01' group: type: string title: Group description: The grouping dimension for this booking report row. example: eq: value booking_canceled_at: title: Booking Canceled At description: Booking canceled at for this booking report group. example: gt: '2026-01-01' canceled_at_period: title: Canceled At Period description: Time period grouping for canceled at (e.g. week, month, quarter). example: gt: '2026-01-01' date_before: type: string title: Date Before format: date description: Date before for this booking report group. example: eq: value currency_normalized: type: string title: Currency Normalized description: Currency in the normalized currency for this booking report group. example: eq: value approver_id: type: integer title: Approver description: Approver id for this booking report group. example: - 123 report: title: Report description: Report for this booking report group. example: eq: value total_cost_normalized: title: Total Cost Normalized description: Sum of cost in the normalized currency across all records in this booking report group. example: eq: value total_base_cost_normalized: title: Total Base Cost Normalized description: Sum of base cost in the normalized currency across all records in this booking report group. example: eq: value deal_or_budget_report: title: Deal Or Budget Report description: Report object for the deal or budget associated with this booking entry. example: gt: 0 company_id: type: integer title: Company description: Company id for this booking report group. example: - 123 person_id: type: integer title: Person description: Person id for this booking report group. example: - 123 service_report: title: Service Report description: Service report for this service report group. example: eq: value total_cost_default: title: Total Cost Default description: Sum of cost in the organization's default currency across all records in this booking report group. example: eq: value total_recognized_revenue: title: Total Recognized Revenue description: Sum of recognized revenue across all records in this booking report group. example: eq: value date_period: title: Date Period description: Time period grouping for date (e.g. week, month, quarter). example: eq: value booking_rejected_at: title: Booking Rejected At description: Booking rejected at for this booking report group. example: gt: '2026-01-01' service_id: type: integer title: Service description: Service id for this booking report group. example: - 123 project: title: Project description: Project for this booking report group. example: eq: value total_recognized_time: type: number title: Total Recognized Time description: Sum of recognized time across all records in this booking report group. example: gt: 0 budget: title: Budget description: Budget for this booking report group. example: gt: 0 stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type for this booking report group. example: eq: active total_recognized_revenue_default: title: Total Recognized Revenue Default description: Sum of recognized revenue in the organization's default currency across all records in this booking report group. example: eq: value person_subsidiary_id: type: integer title: Person Subsidiary description: Person subsidiary id for this booking report group. example: - 123 company: title: Company description: Company for this booking report group. example: eq: value booking_started_on: title: Booking Started On description: Booking started on for this booking report group. example: eq: value task_id: type: integer title: Task description: Task id for this booking report group. example: - 123 booking_created_at: title: Booking Created At description: Booking created at for this booking report group. example: gt: '2026-01-01' date: type: string title: Date format: date description: Date for this booking report group. example: gt: '2026-01-01' responsible_report: title: Responsible Report description: Responsible report for this booking report group. example: eq: value total_cost: title: Total Cost description: Sum of cost across all records in this booking report group. example: eq: value average_recognized_margin: type: number title: Average Recognized Margin description: Average recognized margin for this booking report group. example: eq: value formulas: type: integer title: Formulas description: Formulas for this booking report group. example: eq: value time: type: number title: Time description: Time for this booking report group. example: gt: 0 total_base_cost_default: title: Total Base Cost Default description: Sum of base cost in the organization's default currency across all records in this booking report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency for this booking report group. example: eq: value total_recognized_profit_normalized: title: Total Recognized Profit Normalized description: Sum of recognized profit in the normalized currency across all records in this booking report group. example: eq: value started_on_after: type: string title: Started On After format: date description: Started on after for this booking report group. example: eq: value before: type: string title: Before format: date description: Before for this booking report group. example: eq: value service: title: Service description: Service for this booking report group. example: eq: value mandays: type: number title: Mandays description: Mandays for this booking report group. example: eq: value billing_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: Billing type id for this booking report group. example: - 123 ended_on_before: type: string title: Ended On Before format: date description: Ended on before for this booking report group. example: eq: value event: title: Event description: Event for this booking report group. example: eq: value rejected_at: type: string title: Rejected At format: date description: Rejected at for this booking report group. example: gt: '2026-01-01' project_report: title: Project Report description: Project report for this booking report group. example: eq: value person: title: Person description: Person for this booking report group. example: eq: value formula_fields: title: Formula Fields description: Formula fields for this booking report group. example: eq: value parent_company_id: type: integer title: Parent Company description: ID of the parent company of the company linked to this booking entry, used for hierarchical company filtering. example: - 123 total_recognized_profit: title: Total Recognized Profit description: Sum of recognized profit across all records in this booking report group. example: eq: value billing_type: type: integer title: Billing Type description: Billing type for this booking report group. example: eq: active absence_type: enum: - time_off - remote_work type: string title: Absence Type description: Absence type for this booking report group. example: eq: active booking_ended_on: title: Booking Ended On description: Booking ended on for this booking report group. example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type for this booking report group. example: eq: active autotracking: type: integer title: Autotracking description: Autotracking for this booking report group. example: eq: value service_type: title: Service Type description: Service type for this booking report group. example: eq: active total_recognized_profit_default: title: Total Recognized Profit Default description: Sum of recognized profit in the organization's default currency across all records in this booking report group. example: eq: value average_blended_rate: title: Average Blended Rate description: Average blended rate for this booking report group. example: gt: 0 ended_on_after: type: string title: Ended On After format: date description: Ended on after for this booking report group. example: eq: value ended_on: type: string title: Ended On format: date description: Ended on for this booking report group. example: eq: value average_blended_rate_normalized: title: Average Blended Rate Normalized description: Average blended rate in the normalized currency for this booking report group. example: gt: 0 after: type: string title: After format: date description: After for this booking report group. example: eq: value tags: type: string title: Tags description: Tags for this booking report group. example: eq: value service_type_id: type: integer title: Service Type description: Service type id for this booking report group. example: - 123 deal: title: Deal description: Deal for this booking report group. example: eq: value person_report: title: Person Report description: The person associated with this booking report row. example: eq: value responsible: title: Responsible description: Responsible for this booking report group. example: eq: value booking_approved_at: title: Booking Approved At description: Booking approved at for this booking report group. example: gt: '2026-01-01' event_id: type: integer title: Event description: Event id for this booking report group. example: - 123 custom_fields: type: string title: Custom Fields description: Custom fields for this booking report group. example: eq: value description: An aggregated booking report row grouping scheduled bookings by configurable dimensions with capacity, utilization, and cost metrics. example: id: '123' type: booking_reports attributes: date: '2026-01-15' billable_time: 480 nonbillable_time: 60 person_id: 12 project_id: 45 relationships: {} resource_project_report: type: object title: Project report Resource properties: total_revenue_default: title: Total Revenue Default description: Sum of revenue in the organization's default currency across all records in this project report group. example: eq: value currency_normalized: title: Currency Normalized description: Currency in the normalized currency for this project report group. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: Status for this project report group. example: eq: active year: type: string title: Year description: Year grouping for this project report row. example: eq: value total_profit_normalized: title: Total Profit Normalized description: Sum of profit in the normalized currency across all records in this project report group. example: eq: value company_id: type: integer title: Company description: Company id for this project report group. example: - 123 template: type: string title: Template description: Template for this project report group. example: eq: value total_cost_normalized: title: Total Cost Normalized description: Sum of cost in the normalized currency across all records in this project report group. example: eq: value total_revenue: title: Total Revenue description: Sum of revenue across all records in this project report group. example: eq: value with_templates: type: boolean title: With Templates description: When true, includes project templates in the report results. example: eq: value average_profit_margin: type: number title: Average Profit Margin description: Average profit margin for this project report group. example: eq: value total_projected_revenue_default: title: Total Projected Revenue Default description: Sum of projected revenue in the organization's default currency across all records in this project report group. example: eq: value query: type: string title: Query description: Query for this project report group. example: eq: value jump_query: type: string title: Jump Query description: Jump query for this project report group. example: eq: value project_custom_fields: title: Project Custom Fields description: Project custom fields for this project report group. example: eq: value report: title: Report description: Report for this project report group. example: eq: value total_projected_revenue_normalized: title: Total Projected Revenue Normalized description: Sum of projected revenue in the normalized currency across all records in this project report group. example: eq: value profit: title: Profit description: Profit for this project report group. example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type for this project report group. example: eq: active total_needs_invoicing_default: title: Total Needs Invoicing Default description: Sum of needs invoicing in the organization's default currency across all records in this project report group. example: eq: value parent_company_id: type: integer title: Parent Company description: ID of the parent company of the client linked to projects in this group, used for hierarchical company filtering. example: - 123 total_projected_revenue: title: Total Projected Revenue description: Sum of projected revenue across all records in this project report group. example: eq: value company_report: title: Company Report description: Company report for this project report group. example: eq: value project_color: type: integer title: Project Color description: Project color for this project report group. example: eq: value project_id: type: integer title: Project description: Project id for this project report group. example: - 123 project_last_activity_at: title: Project Last Activity At description: Timestamp of the most recent activity on the project associated with this report row. example: gt: '2026-01-01' week: type: string title: Week description: Week grouping for this project report row. example: eq: value projected_revenue: title: Projected Revenue description: Projected revenue for this project report group. example: eq: value responsible_id: type: integer title: Responsible description: Responsible id for this project report group. example: - 123 cost: title: Cost description: Cost for this project report group. example: eq: value fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people for this project report group. example: eq: value quarter: type: string title: Quarter description: Quarter grouping for this project report row. example: eq: value project_name: title: Project Name description: Project name for this project report group. example: eq: value average_profit_margin_normalized: title: Average Profit Margin Normalized description: Average profit margin in the normalized currency for this project report group. example: eq: value worked_time: type: integer title: Worked Time description: Worked time for this project report group. example: gt: 0 currency_default: title: Currency Default description: Currency in the organization's default currency for this project report group. example: eq: value project_manager: title: Project Manager description: Project manager for this project report group. example: eq: value created_at: type: string title: Created At format: date description: Created at for this project report group. example: gt: '2026-01-01' profit_margin: type: integer title: Profit Margin description: Profit margin for this project report group. example: eq: value project_status: type: integer title: Project Status description: Project status for this project report group. example: eq: active workflow_id: type: integer title: Workflow description: Workflow id for this project report group. example: - 123 month: type: string title: Month description: Month grouping for this project report row. example: eq: value pending_invoicing: title: Pending Invoicing description: Pending invoicing for this project report group. example: eq: value total_cost_default: title: Total Cost Default description: Sum of cost in the organization's default currency across all records in this project report group. example: eq: value total_worked_time: type: number title: Total Worked Time description: Sum of worked time across all records in this project report group. example: gt: 0 project_manager_report: title: Project Manager Report description: Project manager report for this project report group. example: eq: value total_estimated_time: type: number title: Total Estimated Time description: Sum of estimated time across all records in this project report group. example: gt: 0 average_profit_margin_default: type: number title: Average Profit Margin Default description: Average profit margin in the organization's default currency for this project report group. example: eq: value number: type: string title: Number description: Number for this project report group. example: eq: value project: title: Project description: Project for this project report group. example: eq: value total_revenue_normalized: title: Total Revenue Normalized description: Sum of revenue in the normalized currency across all records in this project report group. example: eq: value formulas: type: integer title: Formulas description: Formulas for this project report group. example: eq: value estimated_time: type: integer title: Estimated Time description: Estimated time for this project report group. example: gt: 0 organization: title: Organization description: Organization for this project report group. example: eq: value created_at_period: title: Created At Period description: Time period grouping for created at (e.g. week, month, quarter). example: gt: '2026-01-01' fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy dates for this project report group. example: gt: '2026-01-01' project_created_at: title: Project Created At description: Project created at for this project report group. example: gt: '2026-01-01' public_access: type: boolean title: Public Access description: Public access for this project report group. example: eq: value revenue: title: Revenue description: Revenue for this project report group. example: eq: value formula_fields: title: Formula Fields description: Formula fields for this project report group. example: eq: value total_needs_invoicing: title: Total Needs Invoicing description: Sum of needs invoicing across all records in this project report group. example: eq: value total_pending_invoicing_normalized: title: Total Pending Invoicing Normalized description: Sum of pending invoicing in the normalized currency across all records in this project report group. example: eq: value total_pending_invoicing_default: title: Total Pending Invoicing Default description: Sum of pending invoicing in the organization's default currency across all records in this project report group. example: eq: value company: title: Company description: Company for this project report group. example: eq: value group: type: string title: Group description: The grouping dimension for this project report row. example: eq: value last_activity_at_period: title: Last Activity At Period description: Time period grouping for last activity date (e.g. week, month, quarter). example: gt: '2026-01-01' total_cost: title: Total Cost description: Sum of cost across all records in this project report group. example: eq: value id: type: integer title: Id description: Unique identifier for this project report row. example: - 123 for_tracking: type: boolean title: For Tracking description: For tracking for this project report group. example: eq: value count: type: integer title: Count description: Number of projects in this report group. example: gt: 0 total_needs_invoicing_normalized: title: Total Needs Invoicing Normalized description: Sum of needs invoicing in the normalized currency across all records in this project report group. example: eq: value name: type: string title: Name description: Name for this project report group. example: eq: value total_profit: title: Total Profit description: Sum of profit across all records in this project report group. example: eq: value total_pending_invoicing: title: Total Pending Invoicing description: Sum of pending invoicing across all records in this project report group. example: eq: value last_activity_at: title: Last Activity At description: Timestamp of the most recent activity on this project. example: gt: '2026-01-01' total_profit_default: title: Total Profit Default description: Sum of profit in the organization's default currency across all records in this project report group. example: eq: value project_number: type: string title: Project Number description: Project number for this project report group. example: eq: value budget_id: type: integer title: Budget description: Budget id for this project report group. example: - 123 currency: type: string title: Currency description: Currency for this project report group. example: eq: value custom_fields: type: string title: Custom Fields description: Custom fields for this project report group. example: eq: value full_query: type: string title: Full Query description: Full query for this project report group. example: eq: value person_id: type: integer title: Person description: Person id for this project report group. example: - 123 description: An aggregated project report row grouping projects by configurable dimensions with utilization, financial, and delivery metrics. example: id: '123' type: project_reports attributes: budget_used: 60000 budget_total: 100000 profit: 25000 margin: 0.35 project_id: 45 relationships: {} filter_task_report: type: object title: Filter task report properties: subscriber_id: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/subscriber_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/subscriber_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/subscriber_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/subscriber_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/subscriber_id" description: Match tasks where the subscriber ID satisfies the specified condition. example: - 123 description: Filter task reports by the ID of a person subscribed to the task. example: - 123 worked_time: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/worked_time" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/worked_time" eq: "$ref": "#/components/schemas/resource_task_report/properties/worked_time" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/worked_time" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/worked_time" description: Filter operator object for worked time. example: gt: 0 description: Filter task report results by worked time. example: gt: 0 fuzzy_dates: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/fuzzy_dates" eq: "$ref": "#/components/schemas/resource_task_report/properties/fuzzy_dates" contains: "$ref": "#/components/schemas/resource_task_report/properties/fuzzy_dates" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/fuzzy_dates" description: Match tasks where the fuzzy date satisfies the specified condition. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task_report/properties/fuzzy_dates" description: Filter task reports using fuzzy date matching for flexible date queries. example: gt: '2026-01-01' after: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/after" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/after" contains: "$ref": "#/components/schemas/resource_task_report/properties/after" eq: "$ref": "#/components/schemas/resource_task_report/properties/after" description: Match tasks where the after date satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/after" description: Filter task reports by the date/time after which the task's due date falls. example: eq: value title: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/title" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/title" eq: "$ref": "#/components/schemas/resource_task_report/properties/title" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/title" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/title" description: Match tasks where the title satisfies the specified condition. example: eq: value description: Filter task reports by the task's title. example: eq: value initial_estimate: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/initial_estimate" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/initial_estimate" eq: "$ref": "#/components/schemas/resource_task_report/properties/initial_estimate" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/initial_estimate" contains: "$ref": "#/components/schemas/resource_task_report/properties/initial_estimate" description: Match tasks where the initial estimate satisfies the specified condition. example: gt: 0 description: Filter task reports by the task's initial time estimate, in seconds. example: gt: 0 task_number: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/task_number" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/task_number" contains: "$ref": "#/components/schemas/resource_task_report/properties/task_number" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/task_number" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/task_number" description: Match tasks where the task number satisfies the specified condition. example: gt: 0 description: Filter task reports by the task's sequential number within its project. example: gt: 0 workflow_status_category_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/workflow_status_category_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/workflow_status_category_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/workflow_status_category_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/workflow_status_category_id" description: Filter operator object for workflow status category id. example: - 123 - "$ref": "#/components/schemas/resource_task_report/properties/workflow_status_category_id" description: Filter task report results by workflow status category id. example: - 123 billable_time: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/billable_time" eq: "$ref": "#/components/schemas/resource_task_report/properties/billable_time" contains: "$ref": "#/components/schemas/resource_task_report/properties/billable_time" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/billable_time" description: Match tasks where billable time satisfies the specified condition. example: gt: 0 - "$ref": "#/components/schemas/resource_task_report/properties/billable_time" description: Filter task reports by billable time logged against the task, in seconds. example: gt: 0 folder_name: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/folder_name" contains: "$ref": "#/components/schemas/resource_task_report/properties/folder_name" eq: "$ref": "#/components/schemas/resource_task_report/properties/folder_name" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/folder_name" description: Match tasks where the folder name satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/folder_name" description: Filter task reports by the name of the folder the task's task list belongs to. example: eq: value public_access: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/public_access" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/public_access" contains: "$ref": "#/components/schemas/resource_task_report/properties/public_access" eq: "$ref": "#/components/schemas/resource_task_report/properties/public_access" description: Match tasks where the public access flag satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/public_access" description: Filter task reports by whether the task is publicly accessible. example: eq: value created_at: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/created_at" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/created_at" contains: "$ref": "#/components/schemas/resource_task_report/properties/created_at" eq: "$ref": "#/components/schemas/resource_task_report/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/created_at" description: Match tasks where the created-at timestamp satisfies the specified condition. example: gt: '2026-01-01' description: Filter task reports by the date and time the task was created. example: gt: '2026-01-01' bookable_after: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/bookable_after" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/bookable_after" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/bookable_after" contains: "$ref": "#/components/schemas/resource_task_report/properties/bookable_after" eq: "$ref": "#/components/schemas/resource_task_report/properties/bookable_after" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter tasks whose linked service becomes bookable on or after this date. example: eq: value query_extended: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/query_extended" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/query_extended" eq: "$ref": "#/components/schemas/resource_task_report/properties/query_extended" contains: "$ref": "#/components/schemas/resource_task_report/properties/query_extended" description: Match tasks where the extended query satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/query_extended" description: Filter task reports using an extended text search query with additional field coverage. example: eq: value closed_after: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/closed_after" contains: "$ref": "#/components/schemas/resource_task_report/properties/closed_after" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/closed_after" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/closed_after" description: Match tasks where the closed-after date satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/closed_after" description: Filter task reports to tasks closed after the specified date. example: eq: value task_list_name: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/task_list_name" contains: "$ref": "#/components/schemas/resource_task_report/properties/task_list_name" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/task_list_name" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/task_list_name" description: Match tasks where the task list name satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/task_list_name" description: Filter task reports by the name of the task list the task belongs to. example: eq: value project_id: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/project_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/project_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/project_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/project_id" description: Match tasks where the project ID satisfies the specified condition. example: - 123 description: Filter task reports by the ID of the project the task belongs to. example: - 123 board_id: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/board_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/board_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/board_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/board_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/board_id" description: Match tasks where the board ID satisfies the specified condition. example: - 123 description: Filter task reports by the ID of the task list (board) the task belongs to. example: - 123 task_list_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/task_list_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/task_list_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/task_list_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/task_list_id" description: Match tasks where the task list ID satisfies the specified condition. example: - 123 - "$ref": "#/components/schemas/resource_task_report/properties/task_list_id" description: Filter task reports by the ID of the task list the task belongs to. example: - 123 before: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/before" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/before" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/before" eq: "$ref": "#/components/schemas/resource_task_report/properties/before" contains: "$ref": "#/components/schemas/resource_task_report/properties/before" description: Match tasks where the before date satisfies the specified condition. example: eq: value description: Filter task reports by the date/time before which the task's due date falls. example: eq: value status: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/status" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/status" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/status" eq: "$ref": "#/components/schemas/resource_task_report/properties/status" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/status" description: Match tasks where the status satisfies the specified condition. example: eq: active description: 'Filter task reports by the task''s workflow status category. Values: not_started, started, or closed.' example: eq: active fuzzy_people: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/fuzzy_people" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/fuzzy_people" contains: "$ref": "#/components/schemas/resource_task_report/properties/fuzzy_people" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/fuzzy_people" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/fuzzy_people" description: Match tasks where the fuzzy person value satisfies the specified condition. example: eq: value description: Filter task reports using fuzzy person matching for flexible people queries. example: eq: value template_id: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/template_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/template_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/template_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/template_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/template_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter tasks by the template they were created from. example: - 123 type_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/type_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/type_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/type_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/type_id" description: Match tasks where the type ID satisfies the specified condition. example: - 123 - "$ref": "#/components/schemas/resource_task_report/properties/type_id" description: Filter task reports by the ID of the task type definition. example: - 123 formulas: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_task_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/formulas" eq: "$ref": "#/components/schemas/resource_task_report/properties/formulas" description: Match tasks where a formula field value satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/formulas" description: Filter task reports by computed formula field values on the task. example: eq: value last_activity_after: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/last_activity_after" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/last_activity_after" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/last_activity_after" eq: "$ref": "#/components/schemas/resource_task_report/properties/last_activity_after" contains: "$ref": "#/components/schemas/resource_task_report/properties/last_activity_after" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Return tasks with last activity after this timestamp. example: eq: value full_query: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/full_query" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/full_query" eq: "$ref": "#/components/schemas/resource_task_report/properties/full_query" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/full_query" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/full_query" description: Match tasks where the full query satisfies the specified condition. example: eq: value description: Filter task reports using a full-text search query across all task text fields. example: eq: value folder_id: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/folder_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/folder_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/folder_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/folder_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/folder_id" description: Match tasks where the folder ID satisfies the specified condition. example: - 123 description: Filter task reports by the ID of the folder the task's task list belongs to. example: - 123 start_date_before: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/start_date_before" eq: "$ref": "#/components/schemas/resource_task_report/properties/start_date_before" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/start_date_before" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/start_date_before" description: Match tasks where the start-date-before value satisfies the specified condition. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task_report/properties/start_date_before" description: Filter task reports to tasks with a start date before the specified date. example: gt: '2026-01-01' subtask: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/subtask" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/subtask" contains: "$ref": "#/components/schemas/resource_task_report/properties/subtask" eq: "$ref": "#/components/schemas/resource_task_report/properties/subtask" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/subtask" description: Match tasks where the subtask flag satisfies the specified condition. example: eq: value description: Filter task reports to include only subtasks (tasks that have a parent task). example: eq: value tags: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/tags" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/tags" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/tags" eq: "$ref": "#/components/schemas/resource_task_report/properties/tags" description: Match tasks where tags satisfy the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/tags" description: Filter task reports by tags assigned to the task. example: eq: value company_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/company_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/company_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/company_id" description: Match tasks where the company ID satisfies the specified condition. example: - 123 - "$ref": "#/components/schemas/resource_task_report/properties/company_id" description: Filter task reports by the ID of the client company linked to the task's project. example: - 123 workflow_status_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/workflow_status_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/workflow_status_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/workflow_status_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/workflow_status_id" description: Filter operator object for workflow status id. example: - 123 - "$ref": "#/components/schemas/resource_task_report/properties/workflow_status_id" description: Filter task report results by workflow status id. example: - 123 updated_at: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/updated_at" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/updated_at" eq: "$ref": "#/components/schemas/resource_task_report/properties/updated_at" contains: "$ref": "#/components/schemas/resource_task_report/properties/updated_at" description: Match tasks where the updated-at timestamp satisfies the specified condition. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task_report/properties/updated_at" description: Filter task reports by the date and time the task was last updated. example: gt: '2026-01-01' assignee_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/assignee_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/assignee_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/assignee_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/assignee_id" description: Match tasks where the assignee ID satisfies the specified condition. example: - 123 - "$ref": "#/components/schemas/resource_task_report/properties/assignee_id" description: Filter task reports by the ID of the person assigned to the task. example: - 123 repeating: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/repeating" eq: "$ref": "#/components/schemas/resource_task_report/properties/repeating" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/repeating" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/repeating" description: Match tasks where the repeating flag satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/repeating" description: Filter task reports by whether the task has a repeating schedule. example: eq: value task_type: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/task_type" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/task_type" eq: "$ref": "#/components/schemas/resource_task_report/properties/task_type" contains: "$ref": "#/components/schemas/resource_task_report/properties/task_type" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/task_type" description: Match tasks where the task type satisfies the specified condition. example: eq: active description: Filter task reports by the task type (task or issue). example: eq: active due_date_new: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/due_date_new" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/due_date_new" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/due_date_new" eq: "$ref": "#/components/schemas/resource_task_report/properties/due_date_new" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/due_date_new" description: Match tasks where the new due date field satisfies the specified condition. example: gt: '2026-01-01' description: Filter task reports by the task's due date using the newer date field format. example: gt: '2026-01-01' remaining_time: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/remaining_time" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/remaining_time" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/remaining_time" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/remaining_time" contains: "$ref": "#/components/schemas/resource_task_report/properties/remaining_time" description: Match tasks where the remaining time satisfies the specified condition. example: gt: 0 description: Filter task reports by the task's remaining time estimate, in seconds. example: gt: 0 board_status: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/board_status" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/board_status" eq: "$ref": "#/components/schemas/resource_task_report/properties/board_status" contains: "$ref": "#/components/schemas/resource_task_report/properties/board_status" description: Match tasks where the board status satisfies the specified condition. example: eq: active - "$ref": "#/components/schemas/resource_task_report/properties/board_status" description: 'Filter task reports by the status of the task list (board) the task belongs to. Values: open or closed.' example: eq: active start_date_after: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/start_date_after" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/start_date_after" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/start_date_after" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/start_date_after" eq: "$ref": "#/components/schemas/resource_task_report/properties/start_date_after" description: Match tasks where the start-date-after value satisfies the specified condition. example: gt: '2026-01-01' description: Filter task reports to tasks with a start date after the specified date. example: gt: '2026-01-01' project_type: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/project_type" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/project_type" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/project_type" eq: "$ref": "#/components/schemas/resource_task_report/properties/project_type" contains: "$ref": "#/components/schemas/resource_task_report/properties/project_type" description: Match tasks where the project type satisfies the specified condition. example: eq: active description: Filter task reports by the type of the task's project (billable or internal). example: eq: active custom_fields: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/custom_fields" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_task_report/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/custom_fields" description: Match tasks where a custom field value satisfies the specified condition. example: eq: value description: Filter task reports by custom field values defined on the task. example: eq: value project_manager_id: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/project_manager_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/project_manager_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/project_manager_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/project_manager_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/project_manager_id" description: Match tasks where the project manager ID satisfies the specified condition. example: - 123 description: Filter task reports by the ID of the project manager of the task's project. example: - 123 last_actor_id: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/last_actor_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/last_actor_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/last_actor_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/last_actor_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/last_actor_id" description: Match tasks where the last actor ID satisfies the specified condition. example: - 123 description: Filter task reports by the ID of the person who last acted on the task. example: - 123 overdue_status: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/overdue_status" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/overdue_status" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/overdue_status" contains: "$ref": "#/components/schemas/resource_task_report/properties/overdue_status" description: Match tasks where the overdue status satisfies the specified condition. example: eq: active - "$ref": "#/components/schemas/resource_task_report/properties/overdue_status" description: 'Filter task reports by the task''s overdue status. Values: overdue (past due date and not closed) or not_overdue.' example: eq: active template: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/template" contains: "$ref": "#/components/schemas/resource_task_report/properties/template" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/template" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/template" description: Match tasks where the template flag satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/template" description: Filter task reports by whether the task is a template. example: eq: value last_activity_before: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/last_activity_before" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/last_activity_before" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/last_activity_before" eq: "$ref": "#/components/schemas/resource_task_report/properties/last_activity_before" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/last_activity_before" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Return tasks with last activity before this timestamp. example: eq: value start_date: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/start_date" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/start_date" eq: "$ref": "#/components/schemas/resource_task_report/properties/start_date" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/start_date" description: Match tasks where the start date satisfies the specified condition. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task_report/properties/start_date" description: Filter task reports by the task's start date. example: gt: '2026-01-01' due_date_before: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/due_date_before" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/due_date_before" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/due_date_before" contains: "$ref": "#/components/schemas/resource_task_report/properties/due_date_before" eq: "$ref": "#/components/schemas/resource_task_report/properties/due_date_before" description: Match tasks where the due-date-before value satisfies the specified condition. example: gt: '2026-01-01' description: Filter task reports to tasks with a due date before the specified date. example: gt: '2026-01-01' id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/id" contains: "$ref": "#/components/schemas/resource_task_report/properties/id" eq: "$ref": "#/components/schemas/resource_task_report/properties/id" description: Match tasks where the ID satisfies the specified condition. example: - 123 - "$ref": "#/components/schemas/resource_task_report/properties/id" description: Filter task reports by the task's numeric ID. example: - 123 bookable_before: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/bookable_before" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/bookable_before" eq: "$ref": "#/components/schemas/resource_task_report/properties/bookable_before" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/bookable_before" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/bookable_before" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter tasks whose linked service is bookable before this date. example: eq: value creator_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/creator_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/creator_id" description: Match tasks where the creator ID satisfies the specified condition. example: - 123 - "$ref": "#/components/schemas/resource_task_report/properties/creator_id" description: Filter task reports by the ID of the person who created the task. example: - 123 last_activity: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/last_activity" contains: "$ref": "#/components/schemas/resource_task_report/properties/last_activity" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/last_activity" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/last_activity" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/last_activity" description: Filter by last activity date range (last_activity_at). example: eq: value person_type: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/person_type" contains: "$ref": "#/components/schemas/resource_task_report/properties/person_type" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/person_type" eq: "$ref": "#/components/schemas/resource_task_report/properties/person_type" description: Match tasks where the person type satisfies the specified condition. example: eq: active - "$ref": "#/components/schemas/resource_task_report/properties/person_type" description: Filter task reports by the type of person assigned to the task (e.g. employee, client, placeholder). example: eq: active trackable_by_person_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/trackable_by_person_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/trackable_by_person_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/trackable_by_person_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/trackable_by_person_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_task_report/properties/trackable_by_person_id" description: Filter tasks that the specified person is permitted to track time on. example: - 123 query: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/query" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/query" contains: "$ref": "#/components/schemas/resource_task_report/properties/query" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/query" description: Match tasks where the search query satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/query" description: Filter task reports using a text search query against task titles and descriptions. example: eq: value dependency_type: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/dependency_type" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/dependency_type" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/dependency_type" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/dependency_type" eq: "$ref": "#/components/schemas/resource_task_report/properties/dependency_type" description: Match tasks where the dependency type satisfies the specified condition. example: eq: active description: Filter task reports by the dependency type relationship (blocking, waiting_on, or linked). example: eq: active due_date: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/due_date" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_report/properties/due_date" eq: "$ref": "#/components/schemas/resource_task_report/properties/due_date" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/due_date" contains: "$ref": "#/components/schemas/resource_task_report/properties/due_date" description: Match tasks where the due date satisfies the specified condition. example: gt: '2026-01-01' description: Filter task reports by the task's due date. example: gt: '2026-01-01' date_range: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/date_range" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/date_range" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/date_range" eq: "$ref": "#/components/schemas/resource_task_report/properties/date_range" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/date_range" description: Match tasks where the date range satisfies the specified condition. example: eq: value description: Filter task reports by a predefined date range (e.g. this_week, this_month, last_month). example: eq: value closed_at: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/closed_at" eq: "$ref": "#/components/schemas/resource_task_report/properties/closed_at" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/closed_at" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/closed_at" description: Match tasks where the closed-at timestamp satisfies the specified condition. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task_report/properties/closed_at" description: Filter task reports by the date and time the task was closed. example: gt: '2026-01-01' task_list_status: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/task_list_status" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/task_list_status" contains: "$ref": "#/components/schemas/resource_task_report/properties/task_list_status" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/task_list_status" description: Match tasks where the task list status satisfies the specified condition. example: eq: active - "$ref": "#/components/schemas/resource_task_report/properties/task_list_status" description: 'Filter task reports by the status of the task list the task belongs to. Values: open or closed.' example: eq: active parent_task_id: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/parent_task_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/parent_task_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/parent_task_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/parent_task_id" eq: "$ref": "#/components/schemas/resource_task_report/properties/parent_task_id" description: Match tasks where the parent task ID satisfies the specified condition. example: - 123 description: Filter task reports by the ID of the parent task (for subtasks). example: - 123 closed_before: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/closed_before" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/closed_before" eq: "$ref": "#/components/schemas/resource_task_report/properties/closed_before" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/closed_before" contains: "$ref": "#/components/schemas/resource_task_report/properties/closed_before" description: Match tasks where the closed-before date satisfies the specified condition. example: eq: value description: Filter task reports to tasks closed before the specified date. example: eq: value jump_query: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_report/properties/jump_query" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/jump_query" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/jump_query" eq: "$ref": "#/components/schemas/resource_task_report/properties/jump_query" description: Match tasks where the jump query satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/jump_query" description: Filter task reports using a jump navigation query for quick task lookup. example: eq: value due_date_on: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/due_date_on" contains: "$ref": "#/components/schemas/resource_task_report/properties/due_date_on" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/due_date_on" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/due_date_on" description: Match tasks where the due-date-on value satisfies the specified condition. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task_report/properties/due_date_on" description: Filter task reports to tasks with a due date on the specified date. example: gt: '2026-01-01' service_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/service_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/service_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/service_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/service_id" description: Match tasks where the service ID satisfies the specified condition. example: - 123 - "$ref": "#/components/schemas/resource_task_report/properties/service_id" description: Filter task reports by the ID of the service the task is tracked against. example: - 123 due_date_after: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/due_date_after" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/due_date_after" contains: "$ref": "#/components/schemas/resource_task_report/properties/due_date_after" eq: "$ref": "#/components/schemas/resource_task_report/properties/due_date_after" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/due_date_after" description: Match tasks where the due-date-after value satisfies the specified condition. example: gt: '2026-01-01' description: Filter task reports to tasks with a due date after the specified date. example: gt: '2026-01-01' board_name: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/board_name" eq: "$ref": "#/components/schemas/resource_task_report/properties/board_name" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/board_name" contains: "$ref": "#/components/schemas/resource_task_report/properties/board_name" description: Match tasks where the board name satisfies the specified condition. example: eq: value - "$ref": "#/components/schemas/resource_task_report/properties/board_name" description: Filter task reports by the name of the task list (board) the task belongs to. example: eq: value workflow_id: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/workflow_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_report/properties/workflow_id" not_contain: "$ref": "#/components/schemas/resource_task_report/properties/workflow_id" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/workflow_id" contains: "$ref": "#/components/schemas/resource_task_report/properties/workflow_id" description: Filter operator object for workflow id. example: - 123 description: Filter task report results by workflow id. example: - 123 folder_status: oneOf: - "$ref": "#/components/schemas/resource_task_report/properties/folder_status" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_report/properties/folder_status" not_eq: "$ref": "#/components/schemas/resource_task_report/properties/folder_status" contains: "$ref": "#/components/schemas/resource_task_report/properties/folder_status" eq: "$ref": "#/components/schemas/resource_task_report/properties/folder_status" description: Match tasks where the folder status satisfies the specified condition. example: eq: active description: 'Filter task reports by the status of the folder the task''s task list belongs to. Values: open or closed.' example: eq: active patternProperties: "^creator..*$": title: Creator relationship "^project..*$": title: Project relationship "^service..*$": title: Service relationship "^assignee..*$": title: Assignee relationship "^task_list..*$": title: Task list relationship "^last_actor..*$": title: Last actor relationship description: Available filter parameters for querying aggregated task report data. example: id: eq: '123' resource_person: type: object title: Person Resource properties: custom_role_id: type: integer title: Custom Role description: ID of the custom role assigned to this person, if any. example: - 123 created_at: type: string title: Created At format: date-time description: Timestamp when this person was created. example: gt: '2026-01-01' company: title: Company description: The company (client) this person belongs to. example: eq: value time_unlocked_period_id: type: integer title: Time Unlocked Period description: Period identifier for the time unlock. example: - 123 accessible_filter_id: type: string title: Accessible Filter description: Filter by accessible filter ID — returns people who are members of the specified saved view or filter. example: - 123 status_expires_at: type: string title: Status Expires At format: date-time description: Timestamp when the current status emoji and text expire. example: gt: '2026-01-01' accessible_doc_id: type: integer title: Accessible Doc description: Filter by accessible doc ID — returns people who have access to the specified document. example: - 123 joined_at: type: string title: Joined At format: date-time description: Date when this person joined the organization. example: gt: '2026-01-01' role_id: type: integer title: Role description: Filter by built-in role type ID. example: - 123 bookings_before: type: string title: Bookings Before format: date description: Filter by bookings_before date — used with resourcing filters to find people with bookings starting on or before this date. example: eq: value status_text: type: string title: Status Text description: Short text message shown as the person's current status. example: eq: active permissions: type: string title: Permissions description: Filter by permission set — returns people with the specified permission slugs. example: eq: value schedulable: type: boolean title: Schedulable description: Filter for schedulable people — returns employees, contractors, and placeholders who can be booked. example: eq: value custom_field_attachments: title: Custom Field Attachments description: File attachments associated with this person via custom fields. example: gt: '2026-01-01' approval_policy_id: type: integer title: Approval Policy description: ID of the approval policy assigned to this person for time-off and booking approvals. example: - 123 time_tracking_policy: title: Time Tracking Policy description: The time tracking policy assigned to this person. example: gt: 0 granular_notification_preferences: type: object title: Granular Notification Preferences description: Granular notification preferences for this person. example: eq: value accessible_deal_id: type: integer title: Accessible Deal description: Filter by accessible deal ID — returns people who have access to the specified deal. example: - 123 organization: title: Organization description: The organization this person belongs to. example: eq: value last_name: type: string title: Last Name description: The person's last name. example: eq: value account_id: title: Account description: The organization (account) ID. example: - 123 subscribable_id: type: integer title: Subscribable description: Filter by subscribable ID — returns subscribers of the specified resource. example: - 123 tag_list: type: string title: Tag List description: Comma-separated list of tags applied to this person. example: eq: value person_type: type: string title: Person Type description: 'Filter by person type — values: user (can log in), contact (external), placeholder (resource planning), agent.' example: eq: active avatar_url: type: string title: Avatar Url description: URL of the person's avatar thumbnail. example: eq: value email: type: string title: Email description: The person's email address. example: eq: value full_query: type: string title: Full Query description: Full text search filter — matches against name and other indexed fields. example: eq: value nickname: type: string title: Nickname description: The person's nickname or preferred display name. example: eq: value deactivated_at: type: string title: Deactivated At format: date-time description: Timestamp when this person was deactivated, or null if currently active. example: gt: '2026-01-01' fuzzy_people: type: string title: Fuzzy People description: Fuzzy people filter for approximate person name matching. example: eq: value holiday_calendar_id: type: integer title: Holiday Calendar description: ID of the holiday calendar assigned to this person for scheduling and time-off calculations. example: - 123 team: type: integer title: Team description: Filter by team ID — returns people who belong to the specified team(s). example: eq: value fuzzy_dates: type: string title: Fuzzy Dates description: Fuzzy date filter for approximate date matching. example: gt: '2026-01-01' subsidiary: title: Subsidiary description: The subsidiary (workplace) this person is associated with. example: eq: value tags: type: string title: Tags description: Tags applied to this person. example: eq: value time_unlocked_start_date: type: string title: Time Unlocked Start Date format: date description: Start date of the time unlock window. example: gt: '2026-01-01' time_unlocked_end_date: type: string title: Time Unlocked End Date format: date description: End date of the time unlock window. example: gt: '2026-01-01' title: type: string title: Title description: The person's job title (e.g. CEO, Manager, Developer). example: eq: value offboarding_id: type: integer title: Offboarding description: ID of the offboarding process associated with this person's deactivation. example: - 123 service_id: type: integer title: Service description: Filter by service ID — returns people who can track time on the specified service. example: - 123 autotracking: type: boolean title: Autotracking description: Whether automatic time tracking is enabled for this person. example: eq: value virtual: type: boolean title: Virtual description: Whether this is a virtual person record. example: eq: value time_off_status_sync: type: boolean title: Time Off Status Sync description: Whether this person's time-off status is synced from an external calendar. example: gt: 0 two_factor_auth: type: boolean title: Two Factor Auth description: Whether two-factor authentication is enabled for this person's user account. example: eq: value time_unlocked_on: type: string title: Time Unlocked On format: date description: The specific date on which the time unlock was applied. example: gt: 0 custom_fields: type: object title: Custom Fields description: Custom field values for this person. example: eq: value id: type: integer title: Id description: The unique identifier of the person. example: - 123 service_type_id: type: integer title: Service Type description: Filter by service type ID — returns people assigned to the specified service types. example: - 123 time_unlocked_interval: type: integer title: Time Unlocked Interval description: Number of days in the time unlock interval. example: gt: 0 teams: title: Teams description: The teams this person belongs to. example: eq: value manager_id: type: integer title: Manager description: ID of the person who is this person's direct manager. example: - 123 contact: type: object title: Contact description: Additional contact data for the person, such as phone numbers and addresses. example: eq: value availabilities: title: Availabilities description: The person's work availability windows. example: eq: value color_id: type: integer title: Color description: Color identifier used to visually distinguish this person in the UI. example: - 123 last_seen_at: type: string title: Last Seen At format: date-time description: Timestamp when this person was last seen active in the application. example: gt: '2026-01-01' first_name: type: string title: First Name description: The person's first name. example: eq: value company_name: title: Company Name description: The name of the company this person belongs to. example: eq: value external_sync: type: boolean title: External Sync description: Whether this person is managed by an external sync integration. example: eq: value manager: title: Manager description: The person's manager. example: eq: value project_id: type: integer title: Project description: Filter by project ID — returns people who are members of the specified project. example: - 123 bookings_after: type: string title: Bookings After format: date description: Filter by bookings_after date — used with resourcing filters to find people with bookings ending on or after this date. example: eq: value time_unlocked: type: boolean title: Time Unlocked description: Whether the person's time entries are unlocked for editing outside the normal window. example: gt: 0 external_id: type: string title: External description: External identifier for syncing this person with an external system. example: - 123 invited_at: type: string title: Invited At format: date-time description: Timestamp when the invitation email was sent to this person. example: gt: '2026-01-01' user_id: type: integer title: User description: The ID of the user account linked to this person, if any. example: - 123 custom_role: title: Custom Role description: The custom role (permission set) assigned to this person. example: eq: value subscribable_type: type: string title: Subscribable Type description: Filter by subscribable type — the resource type to match subscribers against. example: eq: active name: title: Name description: The person's full name (first and last combined). example: eq: value company_id: type: integer title: Company description: Filter by company (client) ID. example: - 123 archived_at: type: string title: Archived At format: date-time description: Timestamp when this person was archived, or null if not archived. example: gt: '2026-01-01' agent: type: boolean title: Agent description: The AI agent account linked to this person, if this person represents an AI agent. example: eq: value placeholder: type: boolean title: Placeholder description: Whether this person is a placeholder used for resource planning, without a real user account. example: eq: value service_types: title: Service Types description: The service types this person delivers. example: eq: active status: enum: - 1 - 2 type: integer title: Status description: 'Filter by person status: 1 (active) or 2 (deactivated).' example: eq: active approval_workflow_id: type: integer title: Approval Workflow description: Filter by approval workflow ID — returns people who have approvals in the specified workflow. example: - 123 champion: title: Champion description: Whether this person is a champion contact. example: eq: value custom_field_people: title: Custom Field People description: People referenced in custom field values for this person. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary company this person belongs to, if any. example: - 123 original_avatar_url: type: string title: Original Avatar Url description: URL of the person's original full-size avatar image. example: eq: value accessible_project_id: type: integer title: Accessible Project description: Filter by accessible project ID — returns people who have access to the specified project. example: - 123 approval_policy_assignment: title: Approval Policy Assignment description: The approval policy assignment for this person. example: eq: value query: type: string title: Query description: Text search filter — matches by full name (exact) or contains partial name. example: eq: value eligible_replacement_managers: type: integer title: Eligible Replacement Managers description: Filter for people eligible to be replacement managers for the specified person ID. example: eq: value status_emoji: type: string title: Status Emoji description: Emoji shown as the person's current status indicator. example: eq: active subscriber_ids: title: Subscriber Ids description: IDs of people subscribed to follow this person. example: - 123 - 456 last_activity_at: type: string title: Last Activity At format: date-time description: Timestamp of the last recorded activity for this person across the platform. example: gt: '2026-01-01' is_user: title: Is User description: Whether this person has an associated user account and can log in. example: eq: value jump_query: type: string title: Jump Query description: Quick jump search filter — matches against name for navigation shortcuts. example: eq: value hrm_type_id: enum: - 1 - 2 type: integer title: Hrm Type description: 'HRM type ID: 1 for employee, 2 for contact. Null for placeholders.' example: - 123 time_tracking_policy_id: type: integer title: Time Tracking Policy description: ID of the time tracking policy applied to this person. example: - 123 offboarding_status: enum: - not_initiated - in_progress - failed - completed type: string title: Offboarding Status description: 'Current offboarding status: not_initiated, in_progress, or completed.' example: eq: active sample_data: type: boolean title: Sample Data description: Whether this person was created as part of sample/demo data. example: eq: value timesheet_submission_disabled: type: boolean title: Timesheet Submission Disabled description: Whether timesheet submission is disabled for this person. example: gt: 0 project_watching: type: integer title: Project Watching description: Filter by project_watching — returns people who are auto-subscribed to the specified project. example: eq: value description: A person represents an employee, contractor, contact, or placeholder within the organization. example: id: '12' type: people attributes: agent: false avatar_url: contact: {} deactivated_at: email: alex.smith@example.com first_name: Alex last_name: Smith nickname: alex title: Senior Developer role_id: 1 status_emoji: status_text: status_expires_at: time_off_status_sync: false archived_at: autotracking: false joined_at: '2026-01-01T00:00:00.000+00:00' last_seen_at: '2026-03-15T10:00:00.000+00:00' invited_at: is_user: true user_id: 456 tag_list: [] virtual: false custom_fields: created_at: '2026-01-01T00:00:00.000+00:00' placeholder: false color_id: '5' two_factor_auth: false availabilities: - - 8 - 0 - 0 - 0 - 0 hrm_type_id: 1 champion: false offboarding_status: offboarding_id: time_tracking_policy_id: relationships: company: data: manager: data: type: people id: '8' teams: data: - type: teams id: '3' _filter_root_resource_request: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: The logical operator to combine multiple filter conditions (e.g. `and`, `or`). example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_resource_request" description: Filter parameters for listing resource requests using a logical operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_resource_request" description: Filter parameters for listing resource requests. example: id: eq: '123' _filter_root_page_version: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_page_version" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_page_version" description: Filter schema for `page_version` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_budget_report: type: object title: Filter budget report properties: stage_status_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_budget_report/properties/stage_status_id" description: Filter by the current pipeline stage (stage status). example: - 123 status: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/status" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/status" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/status" eq: "$ref": "#/components/schemas/resource_budget_report/properties/status" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/status" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active description: Filter by the budget status label (e.g. active, closed, lost). example: eq: active future_budget_used: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/future_budget_used" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/future_budget_used" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/future_budget_used" eq: "$ref": "#/components/schemas/resource_budget_report/properties/future_budget_used" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/future_budget_used" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by future budget used amount range. example: gt: 0 contact_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/contact_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/contact_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/contact_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/contact_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/contact_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the contact person associated with the budget. example: - 123 days_since_last_activity: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/days_since_last_activity" contains: "$ref": "#/components/schemas/resource_budget_report/properties/days_since_last_activity" eq: "$ref": "#/components/schemas/resource_budget_report/properties/days_since_last_activity" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/days_since_last_activity" description: Object form with operator key (eq, not_eq, contains, not_contain). example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/days_since_last_activity" description: Filter by the number of days since the last activity was recorded on the budget (`last_activity_at`). example: eq: value fuzzy_people: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/fuzzy_people" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/fuzzy_people" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/fuzzy_people" contains: "$ref": "#/components/schemas/resource_budget_report/properties/fuzzy_people" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/fuzzy_people" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter using fuzzy person references (e.g. me, my_team) for person fields. example: eq: value lost_reason_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/lost_reason_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/lost_reason_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/lost_reason_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/lost_reason_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/lost_reason_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the reason the deal was lost. example: - 123 delivered_on: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/delivered_on" eq: "$ref": "#/components/schemas/resource_budget_report/properties/delivered_on" contains: "$ref": "#/components/schemas/resource_budget_report/properties/delivered_on" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/delivered_on" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/delivered_on" description: Filter by delivery date range (delivered_on). example: eq: value future_revenue: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/future_revenue" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/future_revenue" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/future_revenue" eq: "$ref": "#/components/schemas/resource_budget_report/properties/future_revenue" contains: "$ref": "#/components/schemas/resource_budget_report/properties/future_revenue" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by future revenue amount range. example: eq: value purchase_order_number: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/purchase_order_number" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/purchase_order_number" eq: "$ref": "#/components/schemas/resource_budget_report/properties/purchase_order_number" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/purchase_order_number" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/purchase_order_number" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: PO-2024-017 description: Filter by purchase order number. example: eq: PO-2024-017 project_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/project_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/project_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/project_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/project_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the associated project. example: - 123 budget_used: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/budget_used" eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_used" contains: "$ref": "#/components/schemas/resource_budget_report/properties/budget_used" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_used" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_budget_report/properties/budget_used" description: Filter by budget used amount range. example: gt: 0 jump_query: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/jump_query" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/jump_query" contains: "$ref": "#/components/schemas/resource_budget_report/properties/jump_query" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/jump_query" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/jump_query" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Jump-to search query for quickly navigating to a budget by name prefix. example: eq: value cost: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/cost" eq: "$ref": "#/components/schemas/resource_budget_report/properties/cost" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/cost" contains: "$ref": "#/components/schemas/resource_budget_report/properties/cost" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/cost" description: Filter by total cost amount range (work cost plus expenses). example: eq: value worked_time: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/worked_time" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/worked_time" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/worked_time" eq: "$ref": "#/components/schemas/resource_budget_report/properties/worked_time" contains: "$ref": "#/components/schemas/resource_budget_report/properties/worked_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by total time logged on this budget, in minutes. example: gt: 0 designated_approver_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/designated_approver_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/designated_approver_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/designated_approver_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/designated_approver_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/designated_approver_id" description: Object form with operator key (eq, not_eq, contains, not_contain). example: - 123 description: Filter by the designated approver person ID set on the budget (`designated_approver_id`). example: - 123 time_approval: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/time_approval" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/time_approval" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/time_approval" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/time_approval" eq: "$ref": "#/components/schemas/resource_budget_report/properties/time_approval" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by time approval setting (whether time entries require approval on this budget). example: gt: 0 tracking_type_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/tracking_type_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/tracking_type_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/tracking_type_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/tracking_type_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/tracking_type_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by time tracking type. example: - 123 won_date: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/won_date" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/won_date" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/won_date" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/won_date" eq: "$ref": "#/components/schemas/resource_budget_report/properties/won_date" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' description: Filter by the sales closed date when the deal status was set to won. example: gt: '2026-01-01' manually_invoiced: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/manually_invoiced" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/manually_invoiced" contains: "$ref": "#/components/schemas/resource_budget_report/properties/manually_invoiced" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/manually_invoiced" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/manually_invoiced" description: Filter by manually invoiced amount range. example: eq: value forecasted_cost: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_cost" eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_cost" contains: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_cost" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_cost" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_cost" description: Filter by the forecasted total cost (current cost plus future cost). example: eq: value closed_at: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/closed_at" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/closed_at" eq: "$ref": "#/components/schemas/resource_budget_report/properties/closed_at" contains: "$ref": "#/components/schemas/resource_budget_report/properties/closed_at" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_budget_report/properties/closed_at" description: Filter by budget close date range (closed_at). example: gt: '2026-01-01' subscriber_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/subscriber_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/subscriber_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/subscriber_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/subscriber_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_budget_report/properties/subscriber_id" description: Filter to budgets where the specified person is a subscriber. example: - 123 tags: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/tags" eq: "$ref": "#/components/schemas/resource_budget_report/properties/tags" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/tags" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/tags" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/tags" description: Filter by tag. example: eq: value revenue_distribution_type: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" eq: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" contains: "$ref": "#/components/schemas/resource_budget_report/properties/revenue_distribution_type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active description: Filter by revenue distribution type (e.g. time_and_materials, fixed_price, as_invoiced). example: eq: active estimated_time: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_time" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_time" eq: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_time" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_budget_report/properties/estimated_time" description: Filter by the total estimated time on this budget, in minutes. example: gt: 0 previous_deal_status_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/previous_deal_status_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/previous_deal_status_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/previous_deal_status_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/previous_deal_status_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/previous_deal_status_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the previous deal status (pipeline stage before the current one). example: - 123 budget_total: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/budget_total" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_total" eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_total" contains: "$ref": "#/components/schemas/resource_budget_report/properties/budget_total" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_budget_report/properties/budget_total" description: Filter by total budget amount range. example: gt: 0 budget_remaining: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/budget_remaining" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_remaining" contains: "$ref": "#/components/schemas/resource_budget_report/properties/budget_remaining" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_remaining" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/budget_remaining" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by the remaining budget amount (budget total minus budget used). example: gt: 0 formulas: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_budget_report/properties/formulas" eq: "$ref": "#/components/schemas/resource_budget_report/properties/formulas" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/formulas" description: Formula columns applied to this report. example: eq: value number: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/number" eq: "$ref": "#/components/schemas/resource_budget_report/properties/number" contains: "$ref": "#/components/schemas/resource_budget_report/properties/number" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/number" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_budget_report/properties/number" description: Filter by the budget number (sequential identifier within the organization). example: gt: 0 name: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/name" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/name" eq: "$ref": "#/components/schemas/resource_budget_report/properties/name" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/name" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/name" description: Filter by budget name. example: eq: value parent_company_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/parent_company_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/parent_company_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/parent_company_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/parent_company_id" description: Object form with operator key (eq, not_eq, contains, not_contain). example: - 123 - "$ref": "#/components/schemas/resource_budget_report/properties/parent_company_id" description: Filter by parent company ID, returning budgets linked to companies that are children of the specified parent. example: - 123 future_cost: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/future_cost" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/future_cost" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/future_cost" eq: "$ref": "#/components/schemas/resource_budget_report/properties/future_cost" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/future_cost" description: Filter by future cost amount range. example: eq: value sales_status_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/sales_status_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the sales deal status (opportunity pipeline stage). example: - 123 type: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/type" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/type" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/type" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/type" eq: "$ref": "#/components/schemas/resource_budget_report/properties/type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active description: Filter by the resource type of the report row (e.g. budget_report). example: eq: active retainer_interval: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/retainer_interval" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/retainer_interval" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/retainer_interval" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/retainer_interval" eq: "$ref": "#/components/schemas/resource_budget_report/properties/retainer_interval" description: Object form with operator key (eq, not_eq, contains, not_contain). example: eq: value description: Filter by the budget retainer billing interval (week, two_weeks, month, quarter, half_year, or year). example: eq: value approval_policy_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/approval_policy_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/approval_policy_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/approval_policy_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/approval_policy_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_budget_report/properties/approval_policy_id" description: Filter by the assigned approval policy. example: - 123 discount: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/discount" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/discount" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/discount" contains: "$ref": "#/components/schemas/resource_budget_report/properties/discount" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/discount" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by discount percentage range. example: gt: 0 invoiced_rate: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/invoiced_rate" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced_rate" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced_rate" contains: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced_rate" eq: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced_rate" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by the effective invoiced rate (invoiced amount divided by worked time). example: gt: 0 work_cost: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/work_cost" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/work_cost" contains: "$ref": "#/components/schemas/resource_budget_report/properties/work_cost" eq: "$ref": "#/components/schemas/resource_budget_report/properties/work_cost" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/work_cost" description: Filter by work cost amount range. example: eq: value full_query: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/full_query" eq: "$ref": "#/components/schemas/resource_budget_report/properties/full_query" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/full_query" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/full_query" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/full_query" description: Full search query string applied to budget names and metadata. example: eq: value credited: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/credited" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/credited" eq: "$ref": "#/components/schemas/resource_budget_report/properties/credited" contains: "$ref": "#/components/schemas/resource_budget_report/properties/credited" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/credited" description: Filter by credited amount range. example: eq: value created_at: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/created_at" eq: "$ref": "#/components/schemas/resource_budget_report/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/created_at" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_budget_report/properties/created_at" description: Filter by budget creation date range (created_at). example: gt: '2026-01-01' forecasted_revenue: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_revenue" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_revenue" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_revenue" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_revenue" contains: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_revenue" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by forecasted revenue (current revenue plus future revenue). example: eq: value origin_deal_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/origin_deal_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/origin_deal_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/origin_deal_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/origin_deal_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/origin_deal_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the originating deal this budget was created from. example: - 123 forecasted_time_usage: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_time_usage" contains: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_time_usage" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_time_usage" eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_time_usage" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_time_usage" description: Filter by forecasted time usage percentage (forecasted billable time divided by budgeted time). example: gt: 0 expenses_billable: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/expenses_billable" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/expenses_billable" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/expenses_billable" contains: "$ref": "#/components/schemas/resource_budget_report/properties/expenses_billable" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/expenses_billable" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by billable expenses amount range. example: eq: value lost_at: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/lost_at" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/lost_at" contains: "$ref": "#/components/schemas/resource_budget_report/properties/lost_at" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/lost_at" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/lost_at" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' description: Filter by the date the deal was marked as lost (lost_at). example: gt: '2026-01-01' future_booked_time: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/future_booked_time" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/future_booked_time" eq: "$ref": "#/components/schemas/resource_budget_report/properties/future_booked_time" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/future_booked_time" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/future_booked_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by future booked time from scheduled bookings, in minutes. example: gt: 0 currency: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/currency" contains: "$ref": "#/components/schemas/resource_budget_report/properties/currency" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/currency" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/currency" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/currency" description: Filter by the currency code of the budget (e.g. USD, EUR). example: eq: value projected_revenue: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/projected_revenue" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/projected_revenue" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/projected_revenue" eq: "$ref": "#/components/schemas/resource_budget_report/properties/projected_revenue" contains: "$ref": "#/components/schemas/resource_budget_report/properties/projected_revenue" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by projected revenue amount range. example: eq: value query: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/query" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/query" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/query" contains: "$ref": "#/components/schemas/resource_budget_report/properties/query" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/query" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Full-text search query applied to budget name and description. example: eq: value days_in_current_stage: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/days_in_current_stage" eq: "$ref": "#/components/schemas/resource_budget_report/properties/days_in_current_stage" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/days_in_current_stage" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/days_in_current_stage" description: Object form with operator key (eq, not_eq, contains, not_contain). example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/days_in_current_stage" description: Filter by the number of days the budget has been in its current pipeline stage. example: eq: value budget_usage: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/budget_usage" eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_usage" contains: "$ref": "#/components/schemas/resource_budget_report/properties/budget_usage" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_usage" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_budget_report/properties/budget_usage" description: Filter by the budget usage percentage (budget used divided by budget total). example: gt: 0 company_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/company_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/company_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/company_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/company_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the client company associated with the budget. example: - 123 needs_invoicing: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/needs_invoicing" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/needs_invoicing" contains: "$ref": "#/components/schemas/resource_budget_report/properties/needs_invoicing" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/needs_invoicing" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/needs_invoicing" description: Filter to budgets that have uninvoiced billable work ready to invoice. example: eq: value draft_invoiced: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/draft_invoiced" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/draft_invoiced" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/draft_invoiced" contains: "$ref": "#/components/schemas/resource_budget_report/properties/draft_invoiced" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/draft_invoiced" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by draft invoiced amount range. example: eq: value pending_invoicing: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/pending_invoicing" eq: "$ref": "#/components/schemas/resource_budget_report/properties/pending_invoicing" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/pending_invoicing" contains: "$ref": "#/components/schemas/resource_budget_report/properties/pending_invoicing" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/pending_invoicing" description: Filter by the amount pending invoicing (billable work not yet invoiced). example: eq: value days_since_created: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/days_since_created" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/days_since_created" contains: "$ref": "#/components/schemas/resource_budget_report/properties/days_since_created" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/days_since_created" eq: "$ref": "#/components/schemas/resource_budget_report/properties/days_since_created" description: Object form with operator key (eq, not_eq, contains, not_contain). example: eq: value description: Filter by the number of days elapsed since the budget was created (`created_at`). example: eq: value manual_invoicing_status: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/manual_invoicing_status" contains: "$ref": "#/components/schemas/resource_budget_report/properties/manual_invoicing_status" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/manual_invoicing_status" eq: "$ref": "#/components/schemas/resource_budget_report/properties/manual_invoicing_status" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active - "$ref": "#/components/schemas/resource_budget_report/properties/manual_invoicing_status" description: Filter by manual invoicing status (e.g. not_started, in_progress, completed). example: eq: active responsible_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/responsible_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/responsible_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/responsible_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/responsible_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/responsible_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the person responsible for the budget. example: - 123 accessible_by_person: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/accessible_by_person" eq: "$ref": "#/components/schemas/resource_budget_report/properties/accessible_by_person" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/accessible_by_person" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/accessible_by_person" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/accessible_by_person" description: Filter to budgets accessible by the specified person. example: eq: value services_revenue: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/services_revenue" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/services_revenue" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/services_revenue" contains: "$ref": "#/components/schemas/resource_budget_report/properties/services_revenue" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/services_revenue" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by revenue from services only (excluding expenses and manual invoicing). example: eq: value todo_due_date: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/todo_due_date" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/todo_due_date" eq: "$ref": "#/components/schemas/resource_budget_report/properties/todo_due_date" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/todo_due_date" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_budget_report/properties/todo_due_date" description: Filter by todo due date range on the budget. example: gt: '2026-01-01' forecasted_budget_used: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_budget_used" contains: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_budget_used" eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_budget_used" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_budget_used" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_budget_used" description: Filter by the forecasted budget used amount (current budget used plus future cost). example: gt: 0 status_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/status_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/status_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/status_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/status_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/status_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the current deal status (pipeline stage). example: - 123 previous_probability: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/previous_probability" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/previous_probability" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/previous_probability" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/previous_probability" eq: "$ref": "#/components/schemas/resource_budget_report/properties/previous_probability" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by the previous deal win probability percentage range. example: eq: value last_activity_at: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/last_activity_at" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/last_activity_at" eq: "$ref": "#/components/schemas/resource_budget_report/properties/last_activity_at" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/last_activity_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_budget_report/properties/last_activity_at" description: Filter by last activity date range (last_activity_at). example: gt: '2026-01-01' fuzzy_dates: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/fuzzy_dates" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/fuzzy_dates" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/fuzzy_dates" contains: "$ref": "#/components/schemas/resource_budget_report/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/fuzzy_dates" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' description: Filter using relative date expressions (e.g. this_week, last_month) for date fields. example: gt: '2026-01-01' end_date: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/end_date" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/end_date" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/end_date" eq: "$ref": "#/components/schemas/resource_budget_report/properties/end_date" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_budget_report/properties/end_date" description: Filter by budget end date range (end_date). example: gt: '2026-01-01' needs_closing: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/needs_closing" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/needs_closing" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/needs_closing" eq: "$ref": "#/components/schemas/resource_budget_report/properties/needs_closing" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/needs_closing" description: Filter to budgets that need closing (overdue or exceeded budget). example: eq: value previous_or_current_deal_status_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/previous_or_current_deal_status_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/previous_or_current_deal_status_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/previous_or_current_deal_status_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/previous_or_current_deal_status_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_budget_report/properties/previous_or_current_deal_status_id" description: Filter by deals that are currently or were previously in the specified deal status. example: - 123 budget_warning: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/budget_warning" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_warning" contains: "$ref": "#/components/schemas/resource_budget_report/properties/budget_warning" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_warning" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/budget_warning" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by the budget warning threshold percentage. When budget usage exceeds this percentage, the budget is flagged as a warning. example: gt: 0 project_type: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/project_type" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/project_type" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/project_type" eq: "$ref": "#/components/schemas/resource_budget_report/properties/project_type" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/project_type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active description: Filter by project type (billable or overhead). example: eq: active recurring_interval_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_budget_report/properties/recurring_interval_id" description: Filter by the recurrence interval (e.g. monthly, quarterly). example: - 123 id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_budget_report/properties/id" description: Filter by budget ID. example: - 123 stage_updated_at: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/stage_updated_at" contains: "$ref": "#/components/schemas/resource_budget_report/properties/stage_updated_at" eq: "$ref": "#/components/schemas/resource_budget_report/properties/stage_updated_at" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/stage_updated_at" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_budget_report/properties/stage_updated_at" description: Filter by the date the deal stage was last updated (stage_updated_at). example: gt: '2026-01-01' forecasted_profit: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_profit" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_profit" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_profit" contains: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_profit" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_profit" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by forecasted profit (forecasted revenue minus forecasted cost). example: eq: value recurring: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/recurring" contains: "$ref": "#/components/schemas/resource_budget_report/properties/recurring" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/recurring" eq: "$ref": "#/components/schemas/resource_budget_report/properties/recurring" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/recurring" description: Filter to recurring budgets only (generated from contracts). example: eq: value date: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/date" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/date" contains: "$ref": "#/components/schemas/resource_budget_report/properties/date" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/date" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/date" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' description: Filter by the report date (used to scope the time range of aggregated metrics). example: gt: '2026-01-01' deal_type_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/deal_type_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/deal_type_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/deal_type_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/deal_type_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_budget_report/properties/deal_type_id" description: Filter by the deal type (e.g. fixed price, hourly, retainer). example: - 123 recurring_ends_on: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_ends_on" contains: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_ends_on" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_ends_on" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_ends_on" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/recurring_ends_on" description: Filter by the recurring contract end date range (recurring_ends_on). example: eq: value actual_rate: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/actual_rate" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/actual_rate" eq: "$ref": "#/components/schemas/resource_budget_report/properties/actual_rate" contains: "$ref": "#/components/schemas/resource_budget_report/properties/actual_rate" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/actual_rate" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by actual billing rate range (revenue per hour worked). example: gt: 0 expense: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/expense" eq: "$ref": "#/components/schemas/resource_budget_report/properties/expense" contains: "$ref": "#/components/schemas/resource_budget_report/properties/expense" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/expense" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/expense" description: Filter by total non-labor expense amount on this budget. example: eq: value budget_status: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/budget_status" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_status" contains: "$ref": "#/components/schemas/resource_budget_report/properties/budget_status" eq: "$ref": "#/components/schemas/resource_budget_report/properties/budget_status" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/budget_status" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by the budget status (e.g. active, closed). example: gt: 0 template: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/template" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/template" eq: "$ref": "#/components/schemas/resource_budget_report/properties/template" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/template" contains: "$ref": "#/components/schemas/resource_budget_report/properties/template" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter to template budgets only. example: eq: value estimated_remaining_time: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_remaining_time" contains: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_remaining_time" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_remaining_time" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_remaining_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_budget_report/properties/estimated_remaining_time" description: Filter by estimated remaining time on the budget, in minutes. example: gt: 0 custom_fields: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_budget_report/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_budget_report/properties/custom_fields" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/custom_fields" description: Filter by custom field values. example: eq: value contract_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/contract_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/contract_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/contract_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/contract_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/contract_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the associated contract. example: - 123 creator_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/creator_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/creator_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/creator_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/creator_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the person who created the budget. example: - 123 billable_time: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/billable_time" contains: "$ref": "#/components/schemas/resource_budget_report/properties/billable_time" eq: "$ref": "#/components/schemas/resource_budget_report/properties/billable_time" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/billable_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_budget_report/properties/billable_time" description: Filter by total billable time logged on this budget, in minutes. example: gt: 0 forecasted_budget_usage: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_budget_usage" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_budget_usage" contains: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_budget_usage" eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_budget_usage" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_budget_usage" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by forecasted budget usage percentage (forecasted budget used divided by budget total). example: gt: 0 recurring_starts_on: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_starts_on" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_starts_on" eq: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_starts_on" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/recurring_starts_on" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/recurring_starts_on" description: Filter by the recurring contract start date range (recurring_starts_on). example: eq: value profit_margin: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/profit_margin" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/profit_margin" contains: "$ref": "#/components/schemas/resource_budget_report/properties/profit_margin" eq: "$ref": "#/components/schemas/resource_budget_report/properties/profit_margin" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/profit_margin" description: Filter by profit margin percentage (profit divided by revenue). example: eq: value budgeted_time: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/budgeted_time" contains: "$ref": "#/components/schemas/resource_budget_report/properties/budgeted_time" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/budgeted_time" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/budgeted_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_budget_report/properties/budgeted_time" description: Filter by total time budgeted on the budget, in minutes. example: gt: 0 color_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/color_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/color_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/color_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/color_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/color_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the display color assigned to the budget. example: - 123 lost_date: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/lost_date" contains: "$ref": "#/components/schemas/resource_budget_report/properties/lost_date" eq: "$ref": "#/components/schemas/resource_budget_report/properties/lost_date" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/lost_date" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_budget_report/properties/lost_date" description: Filter by the sales closed date when the deal status was set to lost. example: gt: '2026-01-01' invoiced: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced" contains: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced" eq: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/invoiced" description: Filter by invoiced amount range. example: eq: value unapproved_time: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/unapproved_time" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/unapproved_time" eq: "$ref": "#/components/schemas/resource_budget_report/properties/unapproved_time" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/unapproved_time" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/unapproved_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by total unapproved time range. example: gt: 0 pipeline_id: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/pipeline_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/pipeline_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/pipeline_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/pipeline_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/pipeline_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the pipeline (production pipeline) this budget belongs to. example: - 123 profit: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/profit" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/profit" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/profit" contains: "$ref": "#/components/schemas/resource_budget_report/properties/profit" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_budget_report/properties/profit" description: Filter by total profit (revenue minus cost) on this budget. example: eq: value subsidiary_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/subsidiary_id" eq: "$ref": "#/components/schemas/resource_budget_report/properties/subsidiary_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_budget_report/properties/subsidiary_id" description: Filter by the subsidiary (legal entity) associated with this budget. example: - 123 invoiced_percentage: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/invoiced_percentage" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced_percentage" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced_percentage" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced_percentage" eq: "$ref": "#/components/schemas/resource_budget_report/properties/invoiced_percentage" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by the invoiced percentage (invoiced amount divided by budget total). example: eq: value revenue: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/revenue" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/revenue" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/revenue" eq: "$ref": "#/components/schemas/resource_budget_report/properties/revenue" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/revenue" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by revenue amount range. example: eq: value sales_closed_on: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/sales_closed_on" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/sales_closed_on" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/sales_closed_on" contains: "$ref": "#/components/schemas/resource_budget_report/properties/sales_closed_on" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/sales_closed_on" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by the date the budget was closed in sales (won or lost). example: eq: value probability: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/probability" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/probability" eq: "$ref": "#/components/schemas/resource_budget_report/properties/probability" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/probability" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/probability" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by deal win probability percentage range. example: eq: value forecasted_margin: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_margin" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_margin" eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_margin" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_margin" contains: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_margin" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by forecasted profit margin percentage range. example: eq: value next_occurrence_on: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/next_occurrence_on" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/next_occurrence_on" contains: "$ref": "#/components/schemas/resource_budget_report/properties/next_occurrence_on" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/next_occurrence_on" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/next_occurrence_on" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by the next recurring occurrence date (next_occurrence_on). example: eq: value sales_closed_at: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/sales_closed_at" contains: "$ref": "#/components/schemas/resource_budget_report/properties/sales_closed_at" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/sales_closed_at" eq: "$ref": "#/components/schemas/resource_budget_report/properties/sales_closed_at" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_budget_report/properties/sales_closed_at" description: Filter by sales close date range (sales_closed_at). example: gt: '2026-01-01' deal_status_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/deal_status_id" contains: "$ref": "#/components/schemas/resource_budget_report/properties/deal_status_id" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/deal_status_id" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/deal_status_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_budget_report/properties/deal_status_id" description: Filter by the deal status (pipeline stage) of this budget. example: - 123 estimated_cost: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_cost" eq: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_cost" contains: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_cost" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/estimated_cost" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_budget_report/properties/estimated_cost" description: Filter by the estimated cost (based on estimated time and rates). example: gt: 0 won_at: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_budget_report/properties/won_at" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/won_at" eq: "$ref": "#/components/schemas/resource_budget_report/properties/won_at" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/won_at" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_budget_report/properties/won_at" description: Filter by the date the deal was marked as won (won_at). example: gt: '2026-01-01' forecasted_billable_time: oneOf: - "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_billable_time" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_billable_time" not_contain: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_billable_time" contains: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_billable_time" not_eq: "$ref": "#/components/schemas/resource_budget_report/properties/forecasted_billable_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by the forecasted billable time (worked + future booked billable time), in minutes. example: gt: 0 patternProperties: "^company..*$": title: Company relationship "^contact..*$": title: Contact relationship "^creator..*$": title: Creator relationship "^project..*$": title: Project relationship "^contract..*$": title: Contract relationship "^services..*$": title: Services relationship "^deal_status..*$": title: Deal status relationship "^lost_reason..*$": title: Lost reason relationship "^origin_deal..*$": title: Origin deal relationship "^responsible..*$": title: Responsible relationship "^document_type..*$": title: Document type relationship "^designated_approver..*$": title: Designated approver relationship "^previous_deal_status..*$": title: Previous deal status relationship description: Available filter parameters for querying aggregated budget report data. example: id: eq: '123' filter_entitlement_report: type: object title: Filter entitlement report properties: id: oneOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/id" not_contain: "$ref": "#/components/schemas/resource_entitlement_report/properties/id" contains: "$ref": "#/components/schemas/resource_entitlement_report/properties/id" not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/id" description: Filter operator object for id. example: - 123 description: Filter entitlement report results by id. example: - 123 event_id: oneOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/event_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/event_id" not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/event_id" contains: "$ref": "#/components/schemas/resource_entitlement_report/properties/event_id" not_contain: "$ref": "#/components/schemas/resource_entitlement_report/properties/event_id" description: Filter operator object for event id. example: - 123 description: Filter entitlement report results by event id. example: - 123 end_date: oneOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/end_date" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/end_date" contains: "$ref": "#/components/schemas/resource_entitlement_report/properties/end_date" not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/end_date" not_contain: "$ref": "#/components/schemas/resource_entitlement_report/properties/end_date" description: Filter operator object for end date. example: gt: '2026-01-01' description: Filter entitlement report results by end date. example: gt: '2026-01-01' person_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_entitlement_report/properties/person_id" not_contain: "$ref": "#/components/schemas/resource_entitlement_report/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/person_id" eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/person_id" description: Filter operator object for person id. example: - 123 - "$ref": "#/components/schemas/resource_entitlement_report/properties/person_id" description: Filter entitlement report results by person id. example: - 123 start_date: oneOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/start_date" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/start_date" contains: "$ref": "#/components/schemas/resource_entitlement_report/properties/start_date" eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/start_date" not_contain: "$ref": "#/components/schemas/resource_entitlement_report/properties/start_date" description: Filter operator object for start date. example: gt: '2026-01-01' description: Filter entitlement report results by start date. example: gt: '2026-01-01' formulas: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_entitlement_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_entitlement_report/properties/formulas" eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/formulas" description: Filter operator object for formulas. example: eq: value - "$ref": "#/components/schemas/resource_entitlement_report/properties/formulas" description: Filter entitlement report results by formulas. example: eq: value allocated: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" contains: "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" not_contain: "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" description: Filter operator object for allocated. example: eq: value - "$ref": "#/components/schemas/resource_entitlement_report/properties/allocated" description: Filter entitlement report results by allocated. example: eq: value used: oneOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/used" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/used" eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/used" contains: "$ref": "#/components/schemas/resource_entitlement_report/properties/used" not_contain: "$ref": "#/components/schemas/resource_entitlement_report/properties/used" description: Filter operator object for used. example: eq: value description: Filter entitlement report results by used. example: eq: value date: oneOf: - "$ref": "#/components/schemas/resource_entitlement_report/properties/date" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_entitlement_report/properties/date" contains: "$ref": "#/components/schemas/resource_entitlement_report/properties/date" not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/date" eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/date" description: Filter operator object for date. example: gt: '2026-01-01' description: Filter entitlement report results by date. example: gt: '2026-01-01' absence_type: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_entitlement_report/properties/absence_type" contains: "$ref": "#/components/schemas/resource_entitlement_report/properties/absence_type" not_eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/absence_type" eq: "$ref": "#/components/schemas/resource_entitlement_report/properties/absence_type" description: Filter operator object for absence type. example: eq: active - "$ref": "#/components/schemas/resource_entitlement_report/properties/absence_type" description: Filter entitlement report results by absence type. example: eq: active patternProperties: "^event..*$": title: Event relationship "^person..*$": title: Person relationship description: Available filter parameters for querying aggregated entitlement report data. example: id: eq: '123' resource_deal_report: type: object title: Deal report Resource properties: days_in_current_stage: type: integer title: Days In Current Stage description: Average number of days deals in this group have been in their current pipeline stage. example: eq: value deal_previous_probability: title: Deal Previous Probability description: Previous probability of winning the deal before the last update. example: eq: value deal_retainer_interval: title: Deal Retainer Interval description: The retainer billing interval for deals in this group. example: eq: value actual_rate: title: Actual Rate description: Actual billing rate achieved on the deal. example: gt: 0 average_rate: title: Average Rate description: Average billing rate on the deal, in the deal's budget currency. example: gt: 0 budget_used: title: Budget Used description: Amount of budget already consumed on the deal. example: gt: 0 total_budget_used_normalized: title: Total Budget Used Normalized description: Sum of budget used amounts in the normalized currency across all deals in this report group. example: gt: 0 budget_total: title: Budget Total description: Total budget amount on the deal. example: gt: 0 deal_closed_at: title: Deal Closed At description: Date and time when the deal was closed. example: gt: '2026-01-01' stage_updated_at_period: title: Stage Updated At Period description: Time period grouping for the stage updated-at date (e.g. week, month, quarter). example: gt: '2026-01-01' year: type: string title: Year description: Year grouping for this deal report row. example: eq: value total_budget_from_services_normalized: title: Total Budget From Services Normalized description: The total budget value derived from services for deals in this group, normalized to the deal currency. example: gt: 0 won_date: type: string title: Won Date format: date description: Time period grouping for the won date (e.g. week, month, quarter). example: gt: '2026-01-01' estimated_cost: title: Estimated Cost description: Estimated cost to complete the deal. example: gt: 0 deal_end_date: title: Deal End Date description: End date of the deal. example: gt: '2026-01-01' deal_time_approval: title: Deal Time Approval description: Time entry approval status on the deal. example: gt: 0 next_occurrence_on: type: string title: Next Occurrence On format: date description: Date when the next recurring occurrence of this deal will be generated. example: eq: value owner_report: title: Owner Report description: Related person report data for the deal owner. example: eq: value deal_custom_fields: title: Deal Custom Fields description: Custom field values on the deal. example: eq: value deal_lost_date: title: Deal Lost Date description: Date when the deal was marked as lost. example: gt: '2026-01-01' subscriber_id: type: integer title: Subscriber description: ID of the subscriber (person following this deal for notifications). example: - 123 delivered_on: type: string title: Delivered On format: date description: Date the deal was delivered to the client. example: eq: value manually_invoiced: enum: - 1 - 2 type: integer title: Manually Invoiced description: Amount manually marked as invoiced on this deal. example: eq: value forecasted_cost: title: Forecasted Cost description: 'Forecasted cost: current cost plus future cost.' example: eq: value total_budget_from_services_default: title: Total Budget From Services Default description: The total budget value derived from services for deals in this group, in the organization's default currency. example: gt: 0 future_budget_used: title: Future Budget Used description: Total future budget used, calculated from resourcing data. example: gt: 0 previous_probability: type: string title: Previous Probability description: Probability percentage of the deal before the last status change. example: eq: value deal_sales_closed_on: title: Deal Sales Closed On description: Date the deal was closed for sales (won or lost). example: eq: value needs_invoicing: type: boolean title: Needs Invoicing description: Indicates whether the deal has outstanding amounts pending invoicing. example: eq: value subsidiary: title: Subsidiary description: The subsidiary (legal entity) this deal is attributed to. example: eq: value cost: title: Cost description: Total cost on the deal including labor and expenses, in the deal's budget currency. example: eq: value designated_approver_id: type: integer title: Designated Approver description: ID of the person designated as the approver for deals in this group. example: - 123 created_at: type: string title: Created At format: date description: Date and time the deal record was created. example: gt: '2026-01-01' accessible_by_person: type: integer title: Accessible By Person description: Person who has access to the deal in this report row. example: eq: value invoiced: title: Invoiced description: Amount of money invoiced to the client from this deal. example: eq: value deal_budget_warning: title: Deal Budget Warning description: Budget warning status of the deal. example: gt: 0 invoiced_rate: title: Invoiced Rate description: Invoiced amount divided by worked hours. example: gt: 0 draft_invoiced: title: Draft Invoiced description: Total amount invoiced in draft status on the deal. example: eq: value forecasted_billable_time: type: integer title: Forecasted Billable Time description: 'Forecasted billable time: current billable time plus future scheduled time.' example: gt: 0 deal_sales_closed_at: title: Deal Sales Closed At description: Timestamp when the deal was closed for sales (won or lost). example: gt: '2026-01-01' total_worked_time: type: number title: Total Worked Time description: Sum of worked (tracked) hours across all deals in this report group. example: gt: 0 deal_date: title: Deal Date description: Report grouping date for the deal. example: gt: '2026-01-01' work_cost: title: Work Cost description: Labor (work) cost for deals in this report group. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Relative date range expressions (e.g. this_month, last_quarter) used in date filters. example: gt: '2026-01-01' forecasted_time_usage: type: number title: Forecasted Time Usage description: Forecasted time usage as a percentage of estimated time. example: gt: 0 average_actual_rate_normalized: title: Average Actual Rate Normalized description: Average actual billing rate across deals in this report row, in the normalized common currency. example: gt: 0 todo_due_date: type: string title: Todo Due Date format: date description: Due date for todo items associated with this deal. example: gt: '2026-01-01' total_profit_normalized: title: Total Profit Normalized description: Sum of profit amounts in the normalized currency across all deals in this report group. example: eq: value budget_usage: type: number title: Budget Usage description: Budget usage percentage — ratio of budget used to total budget. example: gt: 0 organization: title: Organization description: The organization this deal belongs to. example: eq: value total_estimated_cost_normalized: title: Total Estimated Cost Normalized description: Sum of estimated costs in the normalized currency across all deals in this report group. example: gt: 0 closed_at: type: string title: Closed At format: date description: Date and time when the deal was closed. example: gt: '2026-01-01' responsible_id: type: integer title: Responsible description: ID of the person responsible for managing this deal. example: - 123 deal_created_at: title: Deal Created At description: Date and time the deal record was created. example: gt: '2026-01-01' number: type: string title: Number description: Unique number identifying this deal. example: eq: value time_approval: type: boolean title: Time Approval description: Indicates whether time entries on this deal require approval. example: gt: 0 last_activity_at: type: string title: Last Activity At format: date description: Timestamp of the most recent activity on this deal. example: gt: '2026-01-01' future_cost: title: Future Cost description: Total future cost including service and expense costs, calculated from resourcing data. example: eq: value total_expense_default: title: Total Expense Default description: Sum of expense costs in the organization's default currency across all deals in this report group. example: eq: value date_period: title: Date Period description: Time period grouping label for the report date dimension. example: eq: value total_revenue_default: title: Total Revenue Default description: Sum of revenue amounts in the organization's default currency across all deals in this report group. example: eq: value total_revenue_normalized: title: Total Revenue Normalized description: Sum of revenue amounts in the normalized currency across all deals in this report group. example: eq: value estimated_time: type: integer title: Estimated Time description: Total estimated time required to complete the deal's scope. example: gt: 0 status_id: type: integer title: Status description: ID of the current deal status. example: - 123 forecasted_budget_usage: type: number title: Forecasted Budget Usage description: Forecasted budget usage as a percentage. example: gt: 0 total_profit_default: title: Total Profit Default description: Sum of profit amounts in the organization's default currency across all deals in this report group. example: eq: value recurring: type: boolean title: Recurring description: Indicates whether this deal is a recurring retainer. example: eq: value report: title: Report description: Related deal report data for this group (self-referential for drill-down). example: eq: value total_estimated_cost: title: Total Estimated Cost description: Sum of estimated costs across all deals in this report group. example: gt: 0 lost_reason_id: type: integer title: Lost Reason description: ID of the reason why the deal was lost. example: - 123 custom_fields: type: string title: Custom Fields description: Custom field values associated with the deal. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: Current status of the deal (e.g. open, won, lost). example: eq: active budget_status: enum: - 1 - 2 type: integer title: Budget Status description: Budget health status of the deal — indicates whether spending is within budget thresholds. example: gt: 0 previous_deal_status: title: Previous Deal Status description: The previous deal status label (stage the deal was in before the current one). example: eq: active company_id: type: integer title: Company description: ID of the client company associated with the deal. example: - 123 total_budget_used_default: title: Total Budget Used Default description: Sum of budget used amounts in the organization's default currency across all deals in this report group. example: gt: 0 total_estimated_time: type: number title: Total Estimated Time description: Sum of estimated hours across all deals in this report group. example: gt: 0 expenses_billable: title: Expenses Billable description: Total billable expense amount on the deal. example: eq: value deal_average_days_since_last_activity: title: Deal Average Days Since Last Activity description: Timestamp of the most recent activity on the deal associated with this report row. example: eq: value worked_time: type: integer title: Worked Time description: Total worked (tracked) hours for deals in this report group. example: gt: 0 total_revenue: title: Total Revenue description: Sum of revenue amounts across all deals in this report group. example: eq: value query: type: string title: Query description: The query parameters applied when generating this report row. example: eq: value profit_margin: type: number title: Profit Margin description: 'Profit margin as a percentage: profit divided by revenue.' example: eq: value group: type: string title: Group description: The grouping dimension for this report row (e.g. the company, pipeline, or person being grouped by). example: eq: value deal_status: title: Deal Status description: Current pipeline stage of the deal. example: eq: active budget_warning: type: integer title: Budget Warning description: Budget warning flag — indicates whether the deal is approaching or exceeding budget limits. example: gt: 0 lost_at: type: string title: Lost At format: date description: Timestamp when the deal was marked as lost. example: gt: '2026-01-01' sales_closed_on_period: title: Sales Closed On Period description: Time period grouping for the sales closed-on date (e.g. week, month, quarter). example: eq: value average_retainer_interval_count: type: integer title: Average Retainer Interval Count description: The average number of interval units per retainer period across grouped deals. example: gt: 0 tracking_type_id: type: integer title: Tracking Type description: ID of the tracking type for deals in this report group. example: - 123 retainer: type: integer title: Retainer description: When true, deals in this group are retainer deals. example: eq: value sales_closed_at_period: title: Sales Closed At Period description: Time period grouping for the sales closed-at timestamp (e.g. week, month, quarter). example: gt: '2026-01-01' project_id: type: integer title: Project description: ID of the project associated with this deal. example: - 123 total_projected_revenue_normalized: title: Total Projected Revenue Normalized description: Sum of projected revenue amounts in the normalized currency across all deals in this report group. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this deal is attributed to. example: - 123 discount: type: number title: Discount description: Discount amount or percentage applied to the deal. example: gt: 0 deal_purchase_order_number: title: Deal Purchase Order Number description: Purchase order number provided by the client for this deal. example: PO-2024-017 total_budget_from_services: title: Total Budget From Services description: The total budget value derived from services for deals in this group, in the deal currency. example: gt: 0 sales_status_id: enum: - 1 - 2 - 3 - 4 type: integer title: Sales Status description: ID of the current deal sales status (open, won, lost). example: - 123 fuzzy_people: type: integer title: Fuzzy People description: Relative person references (e.g. current_user) used in people-based filters. example: eq: value total_budget_total: title: Total Budget Total description: Sum of total approved budget amounts across all deals in this report group. example: gt: 0 average_days_in_current_stage: type: integer title: Average Days In Current Stage description: Average number of calendar days deals have spent in their current pipeline stage. example: eq: value color_id: type: integer title: Color description: Color label ID assigned to the deal. example: - 123 project: title: Project description: The project associated with this deal. example: eq: value total_budget_total_normalized: title: Total Budget Total Normalized description: Sum of total approved budget amounts in the normalized currency across all deals in this report group. example: gt: 0 unapproved_time: type: integer title: Unapproved Time description: Amount of unapproved time tracked on deals in this report group. example: gt: 0 total_expense_normalized: title: Total Expense Normalized description: Sum of expense costs in the normalized currency across all deals in this report group. example: eq: value forecasted_margin: type: number title: Forecasted Margin description: Forecasted profit margin as a percentage. example: eq: value month: type: string title: Month description: Month grouping label for this report row (e.g. March 2026). example: eq: value deal_last_activity_at: title: Deal Last Activity At description: Timestamp of the most recent activity on the deal associated with this report row. example: gt: '2026-01-01' origin_deal_id: type: integer title: Origin Deal description: ID of the origin deal for this record. example: - 123 contract_id: type: integer title: Contract description: ID of the contract this deal is linked to. example: - 123 stage_updated_at: type: string title: Stage Updated At format: date description: Timestamp when the pipeline stage was last updated. example: gt: '2026-01-01' formula_fields: title: Formula Fields description: Computed values for custom formula fields defined on the report. example: eq: value average_rate_normalized: title: Average Rate Normalized description: Average billing rate on the deal, in the normalized common currency. example: gt: 0 probability: type: string title: Probability description: Likelihood of winning this deal as a percentage (100 for won, 0 for lost by default). example: eq: value template: type: string title: Template description: Indicates whether this deal was created from a template. example: eq: value expense: title: Expense description: Total expense cost on the deal. example: eq: value total_work_cost: title: Total Work Cost description: Sum of labor (work) costs across all deals in this report group. example: eq: value end_date: type: string title: End Date format: date description: End date of the deal. example: gt: '2026-01-01' type: enum: - 1 - 2 type: integer title: Type description: Type of the deal (e.g. sales, production). example: eq: active profit: title: Profit description: 'Profit after all costs: revenue minus service costs and expense costs.' example: eq: value contact_report: title: Contact Report description: Related report for the deal's contact person. example: eq: value revenue: title: Revenue description: Total revenue amount for this deal. example: eq: value total_budget_used: title: Total Budget Used description: Sum of budget used amounts across all deals in this report group. example: gt: 0 deal_won_date: title: Deal Won Date description: Date when the deal was marked as won. example: gt: '2026-01-01' days_since_created: type: integer title: Days Since Created description: Average number of days since deals in this group were created. example: eq: value future_booked_time: type: integer title: Future Booked Time description: Number of hours scheduled on this deal in the future (from resourcing). example: gt: 0 lost_date: type: string title: Lost Date format: date description: Date when the deal was marked as lost. example: gt: '2026-01-01' total_budgeted_time: type: number title: Total Budgeted Time description: Sum of budgeted (estimated) hours across all deals in this report group. example: gt: 0 company_report: title: Company Report description: Related company report for the deal's client. example: eq: value primary_contact: title: Primary Contact description: The primary contact person for the company linked to deals in this group. example: eq: value currency_default: title: Currency Default description: Currency code in the organization's default currency. example: eq: value deal_todo_due_date: title: Deal Todo Due Date description: Due date of the next to-do item on the deal. example: gt: '2026-01-01' deal_sales_status_updated_at: title: Deal Sales Status Updated At description: Timestamp when the deal's sales status was last updated. example: gt: '2026-01-01' forecasted_revenue: title: Forecasted Revenue description: Forecasted revenue amount. example: eq: value stage_status_id: enum: - 1 - 2 - 3 - 4 type: integer title: Stage Status description: ID of the current pipeline stage status. example: - 123 retainer_interval: enum: - week - two_weeks - month - quarter - half_year - year type: string title: Retainer Interval description: The billing interval for retainer deals in this group. example: eq: value sales_closed_at: type: string title: Sales Closed At format: date description: Timestamp when the deal was closed (won or lost). example: gt: '2026-01-01' deal_probability: title: Deal Probability description: Current probability of winning the deal (0–100). example: eq: value currency_normalized: title: Currency Normalized description: Currency code in the normalized common currency. example: eq: value invoiced_percentage: type: integer title: Invoiced Percentage description: Percentage of the budget total that has been invoiced. example: eq: value date: type: string title: Date format: date description: Report grouping date for time-period dimensions. example: gt: '2026-01-01' parent_company_id: type: integer title: Parent Company description: ID of the parent company of the client linked to deals in this group, used for hierarchical company filtering. example: - 123 contact_id: type: integer title: Contact description: ID of the contact person associated with the deal. example: - 123 deal_type_id: type: integer title: Deal Type description: ID of the deal type (retainer or one-off). example: - 123 deal: title: Deal description: The deal associated with this report row. example: eq: value designated_approver: title: Designated Approver description: The person designated as the approver for deals in this group. example: eq: value total_budget_total_default: title: Total Budget Total Default description: Sum of total approved budget amounts in the organization's default currency across all deals in this report group. example: gt: 0 total_billable_time: type: number title: Total Billable Time description: Sum of billable hours tracked across all deals in this report group. example: gt: 0 average_actual_rate_default: title: Average Actual Rate Default description: Average actual billing rate across deals in this report row, in the organization's default currency. example: gt: 0 future_revenue: title: Future Revenue description: Projected future revenue based on resourcing data. example: eq: value total_work_cost_normalized: title: Total Work Cost Normalized description: Sum of labor (work) costs in the normalized currency across all deals in this report group. example: eq: value total_services_revenue_default: title: Total Services Revenue Default description: Sum of services revenue in the organization's default currency across all deals in this report group. example: eq: value quarter: type: string title: Quarter description: Quarter grouping label for this report row (e.g. Q1 2026). example: eq: value company: title: Company description: Client company associated with the deal. example: eq: value sales_closed_on: type: string title: Sales Closed On format: date description: Date when the deal was closed (won or lost). example: eq: value lost_reason: title: Lost Reason description: The reason why the deal was lost. example: eq: value deal_number: title: Deal Number description: Unique deal number identifier. example: eq: value total_work_cost_default: title: Total Work Cost Default description: Sum of labor (work) costs in the organization's default currency across all deals in this report group. example: eq: value recurring_starts_on: type: string title: Recurring Starts On format: date description: Date when the deal recurrence starts. example: eq: value billable_time: type: integer title: Billable Time description: Total billable hours tracked on the deal. example: gt: 0 revenue_distribution_type: enum: - default - even - custom type: string title: Revenue Distribution Type description: Revenue recognition method used for this deal. example: eq: active last_activity_at_period: title: Last Activity At Period description: Time period grouping for last activity date (e.g. week, month, quarter). example: gt: '2026-01-01' project_report: title: Project Report description: Related project report data for this deal. example: eq: value total_projected_revenue_default: title: Total Projected Revenue Default description: Sum of projected revenue amounts in the organization's default currency across all deals in this report group. example: eq: value formulas: type: integer title: Formulas description: Custom formula definitions applied to this report row. example: eq: value credited: title: Credited description: Whether the deal revenue is credited to the responsible person. example: eq: value total_estimated_remaining_time: type: number title: Total Estimated Remaining Time description: Sum of estimated remaining hours across all deals in this report group. example: gt: 0 creator: title: Creator description: Person who created the deal. example: eq: value total_cost: title: Total Cost description: Sum of total costs across all deals in this report group. example: eq: value total_cost_default: title: Total Cost Default description: Sum of total costs in the organization's default currency across all deals in this report group. example: eq: value average_rate_default: title: Average Rate Default description: Average billing rate on the deal, in the organization's default currency. example: gt: 0 deal_client_access: title: Deal Client Access description: Whether the deal is accessible by a specific client user. example: eq: value creator_report: title: Creator Report description: Related report for the deal creator. example: eq: value total_cost_normalized: title: Total Cost Normalized description: Sum of total costs in the normalized currency across all deals in this report group. example: eq: value id: type: integer title: Id description: Unique identifier for this deal report row. example: - 123 contact: title: Contact description: Contact person associated with the deal. example: eq: value total_profit: title: Total Profit description: Sum of profit amounts across all deals in this report group. example: eq: value pipeline_id: type: integer title: Pipeline description: ID of the pipeline this deal belongs to. example: - 123 count: type: integer title: Count description: Number of deals grouped into this report row. example: gt: 0 won_at: type: string title: Won At format: date description: Timestamp when the deal was marked as won. example: gt: '2026-01-01' approval_policy_id: type: integer title: Approval Policy description: ID of the approval policy associated with the deal. example: - 123 pipeline: title: Pipeline description: The pipeline this deal belongs to. example: eq: value budgeted_time: type: integer title: Budgeted Time description: Total estimated time budgeted on the deal. example: gt: 0 previous_or_current_deal_status_id: type: integer title: Previous Or Current Deal Status description: ID of the previous or current deal status (used for pipeline stage tracking). example: - 123 project_type: enum: - 1 - 2 type: integer title: Project Type description: Project type label (e.g. Internal or Client). example: eq: active responsible: title: Responsible description: The person responsible for managing this deal. example: eq: value name: type: string title: Name description: Name of the deal. example: eq: value total_projected_revenue: title: Total Projected Revenue description: Sum of projected revenue amounts across all deals in this report group. example: eq: value created_at_period: title: Created At Period description: Time period grouping for the deal creation date. example: gt: '2026-01-01' deal_status_id: type: integer title: Deal Status description: ID of the current deal status (pipeline stage). example: - 123 currency: type: string title: Currency description: Currency code of the deal's budget currency. example: eq: value average_days_since_created: type: integer title: Average Days Since Created description: Average number of calendar days from deal creation to closure (or now if still open). example: eq: value full_query: type: string title: Full Query description: Full API query object used to generate this report row. example: eq: value pending_invoicing: title: Pending Invoicing description: Amount of money pending invoicing for this deal. example: eq: value recurring_ends_on: type: string title: Recurring Ends On format: date description: Date when the deal recurrence ends. example: eq: value total_services_revenue_normalized: title: Total Services Revenue Normalized description: Sum of services revenue in the normalized currency across all deals in this report group. example: eq: value primary_contact_report: title: Primary Contact Report description: Report object for the primary contact person of the company linked to deals in this group. example: eq: value deal_retainer: title: Deal Retainer description: When true, this deal group represents retainer deals. example: eq: value average_days_since_last_activity: type: integer title: Average Days Since Last Activity description: Average number of days since the last activity across deals in this report. example: eq: value estimated_remaining_time: type: integer title: Estimated Remaining Time description: Estimated remaining time to complete the deal. example: gt: 0 total_estimated_cost_default: title: Total Estimated Cost Default description: Sum of estimated costs in the organization's default currency across all deals in this report group. example: gt: 0 services_revenue: title: Services Revenue description: Revenue from services only, excluding revenue from billable expenses. example: eq: value average_actual_rate: title: Average Actual Rate description: Average actual billing rate across deals in this report row, in the deal's budget currency. example: gt: 0 tags: type: string title: Tags description: List of tags applied to the deal. example: eq: value purchase_order_number: type: string title: Purchase Order Number description: The Purchase Order number provided by the client for this deal. example: PO-2024-017 days_since_last_activity: type: integer title: Days Since Last Activity description: Average number of days since the last activity was recorded on deals in this group. example: eq: value recurring_interval_id: enum: - 3 - 2 - 1 - 6 - 5 - 4 type: integer title: Recurring Interval description: ID of the recurring interval type. example: - 123 deal_suffix: title: Deal Suffix description: Deal name suffix used for display. example: eq: value projected_revenue: title: Projected Revenue description: 'Projected revenue: budget total multiplied by deal probability.' example: eq: value needs_closing: type: boolean title: Needs Closing description: Indicates whether the deal requires closing action. example: eq: value deal_average_days_since_created: title: Deal Average Days Since Created description: Average number of calendar days from deal creation to closure (or now if still open). example: eq: value total_services_revenue: title: Total Services Revenue description: Sum of services revenue across all deals in this report group. example: eq: value forecasted_profit: title: Forecasted Profit description: Forecasted profit amount. example: eq: value budget_remaining: title: Budget Remaining description: Remaining budget on the deal (budget total minus budget used). example: gt: 0 jump_query: type: string title: Jump Query description: Condensed query object used for quick navigation to drill-down report views. example: eq: value total_expense: title: Total Expense description: Sum of expense costs across all deals in this report group. example: eq: value forecasted_budget_used: title: Forecasted Budget Used description: 'Forecasted total budget used: current budget used plus future budget used.' example: gt: 0 previous_deal_status_id: type: integer title: Previous Deal Status description: ID of the previous deal status. example: - 123 creator_id: type: integer title: Creator description: ID of the person who created the deal. example: - 123 manual_invoicing_status: type: boolean title: Manual Invoicing Status description: Indicates whether the deal has been manually marked as invoiced. example: eq: active deal_average_days_in_current_stage: title: Deal Average Days In Current Stage description: Average number of calendar days deals have spent in their current pipeline stage. example: eq: value week: type: string title: Week description: Week grouping for this deal report row (e.g. week, month, quarter). example: eq: value description: An aggregated deal report row. Deal reports group deals by configurable dimensions and calculate financial totals, pipeline metrics, and conversion rates. example: id: '123' type: deal_reports attributes: total_value: 500000 won_value: 200000 lost_value: 50000 deal_id: 89 relationships: {} filter_page: type: object title: Filter page properties: full_query: oneOf: - "$ref": "#/components/schemas/resource_page/properties/full_query" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_page/properties/full_query" eq: "$ref": "#/components/schemas/resource_page/properties/full_query" not_eq: "$ref": "#/components/schemas/resource_page/properties/full_query" not_contain: "$ref": "#/components/schemas/resource_page/properties/full_query" description: Filter using explicit operator syntax. example: eq: value description: Full-text search across all fields of a page, including title and body content. example: eq: value root_page_id: oneOf: - "$ref": "#/components/schemas/resource_page/properties/root_page_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_page/properties/root_page_id" eq: "$ref": "#/components/schemas/resource_page/properties/root_page_id" not_eq: "$ref": "#/components/schemas/resource_page/properties/root_page_id" contains: "$ref": "#/components/schemas/resource_page/properties/root_page_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the top-level ancestor page. example: - 123 fuzzy_people: oneOf: - "$ref": "#/components/schemas/resource_page/properties/fuzzy_people" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_page/properties/fuzzy_people" not_contain: "$ref": "#/components/schemas/resource_page/properties/fuzzy_people" not_eq: "$ref": "#/components/schemas/resource_page/properties/fuzzy_people" eq: "$ref": "#/components/schemas/resource_page/properties/fuzzy_people" description: Filter using explicit operator syntax. example: eq: value description: Filter pages by people mentioned in the page content. example: eq: value parent_page_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_page/properties/parent_page_id" not_contain: "$ref": "#/components/schemas/resource_page/properties/parent_page_id" contains: "$ref": "#/components/schemas/resource_page/properties/parent_page_id" not_eq: "$ref": "#/components/schemas/resource_page/properties/parent_page_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_page/properties/parent_page_id" description: Filter by the direct parent page. example: - 123 person_type: oneOf: - "$ref": "#/components/schemas/resource_page/properties/person_type" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_page/properties/person_type" not_eq: "$ref": "#/components/schemas/resource_page/properties/person_type" not_contain: "$ref": "#/components/schemas/resource_page/properties/person_type" contains: "$ref": "#/components/schemas/resource_page/properties/person_type" description: Filter using explicit operator syntax. example: eq: active description: Filter by the person type (used in search context, e.g. assignee or subscriber). example: eq: active id: oneOf: - "$ref": "#/components/schemas/resource_page/properties/id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_page/properties/id" not_contain: "$ref": "#/components/schemas/resource_page/properties/id" eq: "$ref": "#/components/schemas/resource_page/properties/id" not_eq: "$ref": "#/components/schemas/resource_page/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by ID. example: - 123 jump_query: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_page/properties/jump_query" not_contain: "$ref": "#/components/schemas/resource_page/properties/jump_query" not_eq: "$ref": "#/components/schemas/resource_page/properties/jump_query" contains: "$ref": "#/components/schemas/resource_page/properties/jump_query" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_page/properties/jump_query" description: Filter pages by a quick search query used in jump navigation. example: eq: value project_status: oneOf: - "$ref": "#/components/schemas/resource_page/properties/project_status" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_page/properties/project_status" eq: "$ref": "#/components/schemas/resource_page/properties/project_status" not_eq: "$ref": "#/components/schemas/resource_page/properties/project_status" contains: "$ref": "#/components/schemas/resource_page/properties/project_status" description: Filter using explicit operator syntax. example: eq: active description: Filter by the status of the parent project (active or archived). example: eq: active creator_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_page/properties/creator_id" contains: "$ref": "#/components/schemas/resource_page/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_page/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_page/properties/creator_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_page/properties/creator_id" description: Filter by the person who created the page. example: - 123 custom_fields: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_page/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_page/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_page/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_page/properties/custom_fields" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_page/properties/custom_fields" description: Filter by custom field values. example: eq: value status: oneOf: - "$ref": "#/components/schemas/resource_page/properties/status" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_page/properties/status" not_eq: "$ref": "#/components/schemas/resource_page/properties/status" eq: "$ref": "#/components/schemas/resource_page/properties/status" not_contain: "$ref": "#/components/schemas/resource_page/properties/status" description: Filter using explicit operator syntax. example: eq: active description: Filter by page status (used in search context). example: eq: active fuzzy_dates: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_page/properties/fuzzy_dates" eq: "$ref": "#/components/schemas/resource_page/properties/fuzzy_dates" description: Filter using explicit operator syntax. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_page/properties/fuzzy_dates" description: Filter pages by fuzzy date expressions mentioned in the page content. example: gt: '2026-01-01' created_at: oneOf: - "$ref": "#/components/schemas/resource_page/properties/created_at" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_page/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_page/properties/created_at" contains: "$ref": "#/components/schemas/resource_page/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_page/properties/created_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter by creation date range. example: gt: '2026-01-01' template: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_page/properties/template" contains: "$ref": "#/components/schemas/resource_page/properties/template" not_eq: "$ref": "#/components/schemas/resource_page/properties/template" eq: "$ref": "#/components/schemas/resource_page/properties/template" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_page/properties/template" description: Filter to include only pages that are based on a template. example: eq: value edited_at: oneOf: - "$ref": "#/components/schemas/resource_page/properties/edited_at" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_page/properties/edited_at" contains: "$ref": "#/components/schemas/resource_page/properties/edited_at" eq: "$ref": "#/components/schemas/resource_page/properties/edited_at" not_contain: "$ref": "#/components/schemas/resource_page/properties/edited_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter by last edited date range. example: gt: '2026-01-01' last_activity_at: oneOf: - "$ref": "#/components/schemas/resource_page/properties/last_activity_at" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_page/properties/last_activity_at" not_contain: "$ref": "#/components/schemas/resource_page/properties/last_activity_at" eq: "$ref": "#/components/schemas/resource_page/properties/last_activity_at" not_eq: "$ref": "#/components/schemas/resource_page/properties/last_activity_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by last activity date range. example: gt: '2026-01-01' query: oneOf: - "$ref": "#/components/schemas/resource_page/properties/query" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_page/properties/query" not_contain: "$ref": "#/components/schemas/resource_page/properties/query" eq: "$ref": "#/components/schemas/resource_page/properties/query" contains: "$ref": "#/components/schemas/resource_page/properties/query" description: Filter using explicit operator syntax. example: eq: value description: Filter by title or content (text search). example: eq: value subscriber_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_page/properties/subscriber_id" not_contain: "$ref": "#/components/schemas/resource_page/properties/subscriber_id" not_eq: "$ref": "#/components/schemas/resource_page/properties/subscriber_id" eq: "$ref": "#/components/schemas/resource_page/properties/subscriber_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_page/properties/subscriber_id" description: Filter by the person subscribed to the page. example: - 123 project_id: oneOf: - "$ref": "#/components/schemas/resource_page/properties/project_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_page/properties/project_id" contains: "$ref": "#/components/schemas/resource_page/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_page/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_page/properties/project_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated project. example: - 123 patternProperties: {} description: Filter parameters for listing pages. Supports filtering by creator, creation and edit timestamps, parent page, project, custom fields, and full-text search. Standard string and date operators apply. example: id: eq: '123' _filter_root_section: oneOf: - "$ref": "#/components/schemas/filter_section" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_section" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `section` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_subsidiary: type: object title: Filter subsidiary properties: status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_subsidiary/properties/status" not_contain: "$ref": "#/components/schemas/resource_subsidiary/properties/status" eq: "$ref": "#/components/schemas/resource_subsidiary/properties/status" not_eq: "$ref": "#/components/schemas/resource_subsidiary/properties/status" description: Filter using explicit operator syntax. example: eq: active - "$ref": "#/components/schemas/resource_subsidiary/properties/status" description: Filter by status (active or archived). example: eq: active id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_subsidiary/properties/id" not_eq: "$ref": "#/components/schemas/resource_subsidiary/properties/id" not_contain: "$ref": "#/components/schemas/resource_subsidiary/properties/id" eq: "$ref": "#/components/schemas/resource_subsidiary/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_subsidiary/properties/id" description: Filter by ID. example: - 123 patternProperties: {} description: Filter parameters for listing subsidiaries (legal entities). Supports filtering by name, archived status, and subsidiary ID. Standard string and ID operators apply. example: id: eq: '123' filter_task_list: type: object title: Filter task list properties: query: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_list/properties/query" not_contain: "$ref": "#/components/schemas/resource_task_list/properties/query" contains: "$ref": "#/components/schemas/resource_task_list/properties/query" not_eq: "$ref": "#/components/schemas/resource_task_list/properties/query" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_task_list/properties/query" description: Filter by task list name (text search). example: eq: value restorable: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_list/properties/restorable" not_eq: "$ref": "#/components/schemas/resource_task_list/properties/restorable" eq: "$ref": "#/components/schemas/resource_task_list/properties/restorable" not_contain: "$ref": "#/components/schemas/resource_task_list/properties/restorable" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_task_list/properties/restorable" description: Filter to task lists that are archived but whose parent folder is still active (can be restored). example: eq: value status: oneOf: - "$ref": "#/components/schemas/resource_task_list/properties/status" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_list/properties/status" not_contain: "$ref": "#/components/schemas/resource_task_list/properties/status" contains: "$ref": "#/components/schemas/resource_task_list/properties/status" eq: "$ref": "#/components/schemas/resource_task_list/properties/status" description: Filter using explicit operator syntax. example: eq: active description: Filter by task list status (active or archived). example: eq: active id: oneOf: - "$ref": "#/components/schemas/resource_task_list/properties/id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_list/properties/id" contains: "$ref": "#/components/schemas/resource_task_list/properties/id" eq: "$ref": "#/components/schemas/resource_task_list/properties/id" not_contain: "$ref": "#/components/schemas/resource_task_list/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by task list ID. example: - 123 project_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_list/properties/project_id" eq: "$ref": "#/components/schemas/resource_task_list/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_task_list/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_task_list/properties/project_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_task_list/properties/project_id" description: Filter by project ID. example: - 123 folder_id: oneOf: - "$ref": "#/components/schemas/resource_task_list/properties/folder_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_list/properties/folder_id" not_eq: "$ref": "#/components/schemas/resource_task_list/properties/folder_id" eq: "$ref": "#/components/schemas/resource_task_list/properties/folder_id" not_contain: "$ref": "#/components/schemas/resource_task_list/properties/folder_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by folder ID (alias for board_id). example: - 123 patternProperties: "^folder..*$": title: Folder relationship "^project..*$": title: Project relationship description: Filter parameters for listing task lists. Supports filtering by project, board (folder), archived status, and position. Standard ID operators apply. example: project_id: - 123 _filter_root_document_type: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_document_type" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_document_type" description: Filter schema for `document_type` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_financial_item_report: type: object title: Filter financial item report properties: billing_type: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/billing_type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by the billing type of the service. example: eq: active credited: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/credited" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/credited" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/credited" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/credited" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_financial_item_report/properties/credited" description: Filter by credited amount range. example: eq: value unit: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/unit" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/unit" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/unit" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/unit" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/unit" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by the billing unit type of the service (e.g. hours, days, items). example: eq: value date: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/date" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/date" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/date" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/date" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/date" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by financial item date range (`date`). example: gt: '2026-01-01' total_recognized_time: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_time" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_time" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_time" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_time" description: Filter operator object for total recognized time. example: gt: 0 - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_recognized_time" description: Filter financial item report results by total recognized time. example: gt: 0 total_estimated_time: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_estimated_time" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_estimated_time" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_estimated_time" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_estimated_time" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_estimated_time" description: Filter operator object for total estimated time. example: gt: 0 description: Filter financial item report results by total estimated time. example: gt: 0 formulas: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/formulas" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/formulas" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/formulas" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by calculated formula field values. example: eq: value project_type_id: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_type_id" description: Filter operator object for project type id. example: - 123 description: Filter financial item report results by project type id. example: - 123 probability: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/probability" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/probability" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/probability" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/probability" description: Filter operator object for probability. example: eq: value - "$ref": "#/components/schemas/resource_financial_item_report/properties/probability" description: Filter financial item report results by probability. example: eq: value pipeline_id: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/pipeline_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/pipeline_id" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/pipeline_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/pipeline_id" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/pipeline_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated pipeline. example: - 123 draft_invoiced: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/draft_invoiced" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/draft_invoiced" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/draft_invoiced" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/draft_invoiced" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_financial_item_report/properties/draft_invoiced" description: Filter by the draft invoiced amount on the financial item. example: eq: value locked: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/locked" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/locked" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/locked" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/locked" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_financial_item_report/properties/locked" description: Filter by whether the financial item is locked (period closed). example: eq: value overhead_cost: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/overhead_cost" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/overhead_cost" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/overhead_cost" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/overhead_cost" description: Filter operator object for overhead cost. example: eq: value - "$ref": "#/components/schemas/resource_financial_item_report/properties/overhead_cost" description: Filter financial item report results by overhead cost. example: eq: value company_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/company_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_financial_item_report/properties/company_id" description: Filter by client company. example: - 123 revenue: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/revenue" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/revenue" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/revenue" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/revenue" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/revenue" description: Filter operator object for revenue. example: eq: value description: Filter financial item report results by revenue. example: eq: value total_scheduled_time: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_time" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_time" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_time" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_time" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_scheduled_time" description: Filter operator object for total scheduled time. example: gt: 0 description: Filter financial item report results by total scheduled time. example: gt: 0 approval_status: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_financial_item_report/properties/approval_status" description: Filter by the approval status of the financial item. example: eq: active scheduled_cost: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/scheduled_cost" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/scheduled_cost" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/scheduled_cost" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/scheduled_cost" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/scheduled_cost" description: Filter operator object for scheduled cost. example: eq: value description: Filter financial item report results by scheduled cost. example: eq: value total_budgeted_time: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budgeted_time" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budgeted_time" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budgeted_time" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budgeted_time" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_budgeted_time" description: Filter operator object for total budgeted time. example: gt: 0 description: Filter financial item report results by total budgeted time. example: gt: 0 custom_fields: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/custom_fields" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/custom_fields" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by custom field values. example: eq: value cost: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/cost" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/cost" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/cost" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/cost" description: Filter operator object for cost. example: eq: value - "$ref": "#/components/schemas/resource_financial_item_report/properties/cost" description: Filter financial item report results by cost. example: eq: value budget_used: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_used" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_used" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_used" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_used" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 - "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_used" description: Filter by budget amount used (actual spend against budget). example: gt: 0 group: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/group" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/group" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/group" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/group" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_financial_item_report/properties/group" description: Filter by grouping dimension value (the grouped row key). example: eq: value origin_deal_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/origin_deal_id" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/origin_deal_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/origin_deal_id" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/origin_deal_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_financial_item_report/properties/origin_deal_id" description: Filter by the originating deal this budget was created from. example: - 123 project_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_id" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/project_id" description: Filter operator object for project id. example: - 123 - "$ref": "#/components/schemas/resource_financial_item_report/properties/project_id" description: Filter financial item report results by project id. example: - 123 budget_status: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_status" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_status" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_status" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_status" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 description: Filter by budget status (open or closed). example: gt: 0 total_billable_time: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_billable_time" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_billable_time" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_billable_time" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_billable_time" description: Filter operator object for total billable time. example: gt: 0 - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_billable_time" description: Filter financial item report results by total billable time. example: gt: 0 service_type_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/service_type_id" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/service_type_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/service_type_id" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/service_type_id" description: Filter operator object for service type id. example: - 123 - "$ref": "#/components/schemas/resource_financial_item_report/properties/service_type_id" description: Filter financial item report results by service type id. example: - 123 scheduled_revenue: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/scheduled_revenue" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/scheduled_revenue" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/scheduled_revenue" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/scheduled_revenue" description: Filter operator object for scheduled revenue. example: eq: value - "$ref": "#/components/schemas/resource_financial_item_report/properties/scheduled_revenue" description: Filter financial item report results by scheduled revenue. example: eq: value stage_status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_status" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_status" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_status" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_status" description: Filter operator object for stage status. example: eq: active - "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_status" description: Filter financial item report results by stage status. example: eq: active section_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/section_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/section_id" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/section_id" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/section_id" description: Filter operator object for section id. example: - 123 - "$ref": "#/components/schemas/resource_financial_item_report/properties/section_id" description: Filter financial item report results by section id. example: - 123 parent_company_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/parent_company_id" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/parent_company_id" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/parent_company_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/parent_company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_financial_item_report/properties/parent_company_id" description: Filter by the parent company of the financial item's company. example: - 123 financial_item_type: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/financial_item_type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by type of financial item (service unused budget, booking, time entry, invoice, expense, etc.). example: eq: active service_id: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/service_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/service_id" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/service_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/service_id" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/service_id" description: Filter operator object for service id. example: - 123 description: Filter financial item report results by service id. example: - 123 total_worked_time: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_worked_time" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_worked_time" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_worked_time" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_worked_time" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_worked_time" description: Filter operator object for total worked time. example: gt: 0 description: Filter financial item report results by total worked time. example: gt: 0 person_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/person_id" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/person_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/person_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_financial_item_report/properties/person_id" description: Filter by the associated person. example: - 123 blended_rate: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/blended_rate" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/blended_rate" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/blended_rate" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/blended_rate" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 - "$ref": "#/components/schemas/resource_financial_item_report/properties/blended_rate" description: Filter by blended rate (effective hourly rate based on tracking unit type). example: gt: 0 total_time: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/total_time" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_time" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_time" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_time" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/total_time" description: Filter operator object for total time. example: gt: 0 description: Filter financial item report results by total time. example: gt: 0 responsible_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/responsible_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/responsible_id" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/responsible_id" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/responsible_id" description: Filter operator object for responsible id. example: - 123 - "$ref": "#/components/schemas/resource_financial_item_report/properties/responsible_id" description: Filter financial item report results by responsible id. example: - 123 stage_type: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_type" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_type" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_type" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_type" description: Filter operator object for stage type. example: eq: active - "$ref": "#/components/schemas/resource_financial_item_report/properties/stage_type" description: Filter financial item report results by stage type. example: eq: active deal_status_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/deal_status_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/deal_status_id" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/deal_status_id" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/deal_status_id" description: Filter operator object for deal status id. example: - 123 - "$ref": "#/components/schemas/resource_financial_item_report/properties/deal_status_id" description: Filter financial item report results by deal status id. example: - 123 budget_total: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_total" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_total" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_total" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_total" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_total" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 description: Filter by total budget amount range. example: gt: 0 subsidiary_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/subsidiary_id" description: Filter operator object for subsidiary id. example: - 123 - "$ref": "#/components/schemas/resource_financial_item_report/properties/subsidiary_id" description: Filter financial item report results by subsidiary id. example: - 123 budget_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_id" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_id" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_id" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_financial_item_report/properties/budget_id" description: Filter by the associated budget or deal. example: - 123 estimated_cost: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/estimated_cost" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/estimated_cost" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/estimated_cost" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/estimated_cost" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 - "$ref": "#/components/schemas/resource_financial_item_report/properties/estimated_cost" description: Filter by estimated cost amount range. example: gt: 0 profit: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/profit" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/profit" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/profit" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/profit" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/profit" description: Filter operator object for profit. example: eq: value description: Filter financial item report results by profit. example: eq: value invoiced: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/invoiced" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/invoiced" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/invoiced" not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/invoiced" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_financial_item_report/properties/invoiced" description: Filter by invoiced amount range. example: eq: value future: oneOf: - "$ref": "#/components/schemas/resource_financial_item_report/properties/future" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_financial_item_report/properties/future" eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/future" not_eq: "$ref": "#/components/schemas/resource_financial_item_report/properties/future" contains: "$ref": "#/components/schemas/resource_financial_item_report/properties/future" description: Filter operator object for future. example: eq: value description: Filter financial item report results by future. example: eq: value patternProperties: "^budget..*$": title: Budget relationship "^person..*$": title: Person relationship "^company..*$": title: Company relationship "^project..*$": title: Project relationship "^section..*$": title: Section relationship "^service..*$": title: Service relationship "^origin_deal..*$": title: Origin deal relationship "^responsible..*$": title: Responsible relationship description: Available filter parameters for querying aggregated financial item report data. example: id: eq: '123' _filter_root_approval_status: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_approval_status" required: - "$op" - "$ref": "#/components/schemas/filter_approval_status" _filter_root_time_entry_report: oneOf: - "$ref": "#/components/schemas/filter_time_entry_report" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_time_entry_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `time_entry_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_template: type: object title: Template Resource properties: deal: title: Deal description: Deal target when `target_type` is `deal`. example: data: description: type: string title: Description nullable: true description: Free-text note attached to the template. example: Popis stvari koje trebamo obaviti kada osoba odlazi iz firme id: type: integer title: Id description: Numeric identifier of the template. example: '18' target_id: type: integer title: Target description: Id of the wrapped target. example: '258974' model_attributes: type: object title: Model Attributes additionalProperties: true description: Form-only polymorphic input bag. Required keys depend on `target_type` — see the create endpoint description for the per-target schema. example: client_id: 412 project_manager_id: 13 project_type_id: 2 workflow_id: 1 project_color_id: 5 query: type: string title: Query description: Free-text query — matches against the wrapped target name. example: offboarding deleted_at: type: string title: Deleted At format: date-time nullable: true description: Timestamp marking soft deletion. Non-null values mean the template is in Trash and recoverable via the `/deleted_items` endpoint. example: task_project_id: type: integer title: Task Project description: Filter-only field — limits task templates (`target_type=task`) to those whose underlying task belongs to the given project. example: 271026 name: type: string title: Name maxLength: 255 description: Display name of the template. Required on create. Updates also rename the wrapped target. example: 'Offboarding: General' project_id: type: integer title: Project description: Project identifier — filterable to scope templates to a specific project context. example: 271026 project: title: Project description: Project this template was scoped under (denormalized via the wrapped target). example: data: type: projects id: '258974' page: title: Page description: Page target when `target_type` is `page`. example: data: updated_at: type: string title: Updated At format: date-time description: Timestamp of the most recent change to the template. example: '2026-04-29T12:27:06.627+02:00' target_type: enum: - budget - deal - project - page - task type: string title: Target Type description: Identifies which entity type the template wraps. On create, selects the per-target `model_attributes` shape. `task` is read-only. example: project creator: title: Creator description: Person who created the template. example: data: type: people id: '13' color_id: type: integer title: Color nullable: true description: Color label assigned to the template. example: copy_attributes: type: object title: Copy Attributes additionalProperties: true description: Form-only copy-behavior flags applied when `target_id` is supplied. See the create endpoint for per-target options. example: copy_memberships: true copy_subpages: true task: title: Task description: Task target when `target_type` is `task`. example: data: created_at: type: string title: Created At format: date-time description: Timestamp of when the template was created. example: '2023-01-24T14:08:06.857+01:00' description: Reusable starting point for a project, budget, deal, or page. Each template wraps a real entity (its `target`) created with template semantics; `target_type` discriminates the polymorphic create payload. example: type: templates id: '18' attributes: name: 'Offboarding: General' description: Popis stvari koje trebamo obaviti kada osoba odlazi iz firme target_id: '258974' target_type: project color_id: created_at: '2023-01-24T14:08:06.857+01:00' updated_at: '2026-04-29T12:27:06.627+02:00' deleted_at: filter_team: type: object title: Filter team properties: name: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_team/properties/name" not_eq: "$ref": "#/components/schemas/resource_team/properties/name" not_contain: "$ref": "#/components/schemas/resource_team/properties/name" eq: "$ref": "#/components/schemas/resource_team/properties/name" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_team/properties/name" description: Filter by team name (text search). example: eq: value color_id: oneOf: - "$ref": "#/components/schemas/resource_team/properties/color_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_team/properties/color_id" eq: "$ref": "#/components/schemas/resource_team/properties/color_id" contains: "$ref": "#/components/schemas/resource_team/properties/color_id" not_eq: "$ref": "#/components/schemas/resource_team/properties/color_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by team color ID. example: - 123 query: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_team/properties/query" not_eq: "$ref": "#/components/schemas/resource_team/properties/query" eq: "$ref": "#/components/schemas/resource_team/properties/query" not_contain: "$ref": "#/components/schemas/resource_team/properties/query" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_team/properties/query" description: Filter by team name (text search). example: eq: value id: oneOf: - "$ref": "#/components/schemas/resource_team/properties/id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_team/properties/id" not_eq: "$ref": "#/components/schemas/resource_team/properties/id" eq: "$ref": "#/components/schemas/resource_team/properties/id" contains: "$ref": "#/components/schemas/resource_team/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by ID. example: - 123 patternProperties: {} description: Filter parameters for listing teams. Supports filtering by name and membership. Standard string and ID operators apply. example: id: eq: '123' resource_webhook: type: object title: Webhook Resource properties: target_url: type: string title: Target Url description: The URL where webhook event payloads are delivered. example: eq: value custom_headers: type: object title: Custom Headers description: Custom HTTP headers to include in each webhook delivery request. example: eq: value state_id: enum: - 1 - 2 - 3 type: integer title: State description: 'The current delivery state of this webhook: 1=Working, 2=Issues, 3=Waiting.' example: - 123 name: type: string title: Name description: The display name of this webhook. example: eq: value organization: title: Organization description: The organization this webhook belongs to. example: eq: value id: type: integer title: Id description: The unique identifier of this webhook. example: - 123 signature_token: type: string title: Signature Token description: Secret token used to sign webhook payloads for verification by the recipient. example: eq: value type_id: enum: - 1 - 2 type: integer title: Type description: 'The integration type of this webhook: 1=Webhook, 2=Zapier.' example: - 123 creator: title: Creator description: The person who created this webhook. example: eq: value event_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 28 - 29 - 30 - 31 - 32 - 33 - 34 - 35 type: integer title: Event description: The event type that triggers this webhook. example: - 123 retry_attempts: type: integer title: Retry Attempts description: The number of retry attempts made after a failed delivery. example: gt: '2026-01-01' test: type: boolean title: Test description: When true, this webhook is in test mode and will not fire on real events. example: eq: value deactivated_at: type: string title: Deactivated At format: date-time description: Timestamp when this webhook was deactivated, or null if still active. example: gt: '2026-01-01' description: A webhook is an HTTP callback configured to fire when specific events occur in Productive, delivering real-time event notifications to an external target URL. example: id: '12' type: webhooks attributes: url: https://hooks.example.com/productive events: - task.created - time_entry.created - invoice.paid active: true secret: created_at: '2026-01-01T00:00:00.000+00:00' relationships: {} _filter_root_document_style: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_document_style" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_document_style" description: Filter schema for `document_style` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_task: type: object title: Task Resource properties: fuzzy_people: type: integer title: Fuzzy People description: Fuzzy match by people related to the task. example: eq: value query_extended: type: string title: Query Extended description: Extended search matching title, number, and description. example: eq: value due_date_on: type: string title: Due Date On format: date description: Return tasks due on this exact date. example: gt: '2026-01-01' project_name: title: Project Name description: The name of the project this task belongs to. example: eq: value subscriber_ids: title: Subscriber Ids description: Array of IDs of people subscribed to notifications for this task. example: - 123 - 456 start_date_before: type: string title: Start Date Before format: date description: Return tasks starting on or before this date. example: gt: '2026-01-01' status: enum: - 1 - 2 type: integer title: Status description: Filter by open (1) or closed (2) status. example: eq: active task_dependency_count: type: integer title: Task Dependency Count description: Total number of dependency relationships on this task. example: gt: 0 subtask: type: boolean title: Subtask description: Whether this task is a subtask of another task. example: eq: value dependency_type: enum: - 1 - 2 - 3 type: integer title: Dependency Type description: 'Filter by dependency type: blocking, waiting on, or linked.' example: eq: active tag_list: title: Tag List description: Tags applied to this task. example: eq: value waiting_on_dependency_count: type: integer title: Waiting On Dependency Count description: Number of tasks this task is waiting on before it can proceed. example: gt: 0 overdue_status: enum: - 1 - 2 type: integer title: Overdue Status description: Filter by whether the task is overdue (past due date). example: eq: active created_at: type: string title: Created At format: date-time description: Timestamp when the task was created. example: gt: '2026-01-01' remaining_time: type: integer title: Remaining Time description: Current projection of time still needed, decreases as time is tracked or can be adjusted manually. example: gt: 0 board_name: type: string title: Board Name description: Filter by folder name (text search). example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: 'Filter by project type: internal (overhead) or client (billable).' example: eq: active query: type: string title: Query description: Quick search matching task title and number. example: eq: value task_number: type: string title: Task Number description: Unique number identifying a task within the organization. example: eq: value due_time: type: string title: Due Time format: time description: Time of day for the due date deadline (HH:MM format). example: gt: 0 repeat_on_date: type: string title: Repeat On Date format: date description: Specific date for date-based recurring tasks. example: gt: '2026-01-01' last_activity: type: string title: Last Activity format: date description: Timestamp of the most recent activity on this task. example: eq: value email_key: type: string title: Email Key description: Unique key for creating comments on this task via email. example: eq: value last_activity_before: type: string title: Last Activity Before format: date description: Return tasks with last activity before this date. example: eq: value bookable_before: type: string title: Bookable Before format: date description: Filter tasks to those bookable before this date. example: eq: value subscriber_id: type: integer title: Subscriber description: ID of a person who is subscribed to notifications for this task. example: - 123 company_name: title: Company Name description: Filter by client company (via the task's project). example: eq: value tags: type: string title: Tags description: Tags applied to this task. example: eq: value linked_dependency_count: type: integer title: Linked Dependency Count description: Number of tasks linked to this one (informational, no blocking). example: gt: 0 board_position: title: Board Position description: Sort position of this task within its board (folder). example: eq: value number: title: Number description: Short numeric identifier (alias for task_number). example: eq: value last_activity_at: type: string title: Last Activity At format: date-time description: Timestamp of the most recent activity on this task. example: gt: '2026-01-01' custom_field_people: title: Custom Field People description: People referenced in person-type custom fields on this task. example: eq: value project_manager_id: type: integer title: Project Manager description: Filter by the project's responsible person. example: - 123 service_id: type: integer title: Service description: ID of the service (billing point) this task is linked to. example: - 123 bookings_count: type: integer title: Bookings Count description: Number of scheduled bookings referencing this task. example: gt: 0 date_range: type: string title: Date Range format: date description: Filter tasks overlapping a date range (for timeline/Gantt views). example: eq: value parent_task_id: type: integer title: Parent Task description: Filter by parent task (to find subtasks of a specific task). example: - 123 task_list_id: type: integer title: Task List description: ID of the task list (milestone) this task belongs to. example: - 123 last_actor_id: type: integer title: Last Actor description: ID of the person who last performed an activity on this task. example: - 123 last_actor_name: title: Last Actor Name description: The name of the person who last performed an activity on this task. example: eq: value parent_task: title: Parent Task description: The parent task if this is a subtask. example: eq: value subtask_placement: type: integer title: Subtask Placement description: Sort position among sibling subtasks under the parent task. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created this task. example: - 123 bookable_after: type: string title: Bookable After format: date description: Filter tasks to those bookable after this date. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values set on this task. example: eq: value task_type: enum: - 1 - 2 type: integer title: Task Type description: Filter by parent/subtask distinction. example: eq: active folder_id: type: integer title: Folder description: Filter by folder ID (alias for board_id). example: - 123 updated_at: type: string title: Updated At format: date-time description: Timestamp when the task was last modified. example: gt: '2026-01-01' todo_assignee_ids: type: object title: Todo Assignee Ids description: IDs of people assigned to open to-do items on this task. example: - 123 - 456 folder_status: enum: - 1 - 2 type: integer title: Folder Status description: Filter by whether the folder is active or archived (alias for board_status). example: eq: active full_query: type: string title: Full Query description: Full-text search across task fields. example: eq: value last_actor: title: Last Actor description: The last person who made changes to this task. example: eq: value task_list_status: enum: - 1 - 2 type: integer title: Task List Status description: The open/closed status of the task list this task belongs to. example: eq: active workflow_status_name: title: Workflow Status Name description: Current workflow status of this task (e.g. 'To Do', 'In Progress', 'Done'). example: eq: active repeat_origin_id: type: integer title: Repeat Origin description: ID of the original task that spawned this recurring instance. example: - 123 workflow_status_id: type: integer title: Workflow Status description: ID of the workflow status currently assigned to this task. example: - 123 closed_after: type: string title: Closed After format: date description: Return tasks closed on or after this date. example: eq: value due_date_after: type: string title: Due Date After format: date description: Return tasks due on or after this date. example: gt: '2026-01-01' closed: title: Closed description: Whether the task is closed (derived from closed_at). example: true template_object: title: Template Object description: The template this task was created from, if applicable. example: eq: value closed_at: type: string title: Closed At format: date-time description: Timestamp when the task was closed, or null if still open. example: gt: '2026-01-01' jump_query: type: string title: Jump Query description: Quick jump search by task name or number. example: eq: value attachments: title: Attachments description: Files attached to this task. example: eq: value placement: type: integer title: Placement description: Sort position of this task within its task list. example: eq: value blocking_dependency_count: type: integer title: Blocking Dependency Count description: Number of tasks this task is blocking from starting. example: gt: 0 due_date_new: type: string title: Due Date New format: date description: Return tasks due on this exact date. example: gt: '2026-01-01' assignee_name: title: Assignee Name description: Filter by assigned person (also matches open to-do assignees). example: eq: value company_id: type: integer title: Company description: Filter by client company (via the task's project). example: - 123 task_list_name: type: string title: Task List Name description: Filter by task list name (text search). example: eq: value subtask_count: type: integer title: Subtask Count description: Total number of subtasks under this task. example: gt: 0 deleted_at: type: string title: Deleted At format: date-time description: Timestamp if the task was soft-deleted, null otherwise. example: gt: '2026-01-01' template: type: string title: Template description: Return only template tasks. example: eq: value closed_before: type: string title: Closed Before format: date description: Return tasks closed on or before this date. example: eq: value initial_estimate: type: integer title: Initial Estimate description: Originally forecasted time needed to complete the task, in minutes. example: gt: 0 project: title: Project description: The project this task belongs to. example: eq: value due_date_before: type: string title: Due Date Before format: date description: Return tasks due on or before this date. example: gt: '2026-01-01' organization: title: Organization description: The organization this task belongs to. example: eq: value billable_time: type: integer title: Billable Time description: Total billable hours tracked on this task (time + correction for billable services, zero for non-billable). example: gt: 0 creator_name: title: Creator Name description: The name of the person who created this task. example: eq: value last_activity_after: type: string title: Last Activity After format: date description: Return tasks with last activity after this date. example: eq: value repeating: type: boolean title: Repeating description: Whether this task is part of a repeating schedule. example: eq: value service: title: Service description: The budget service linked to this task for time tracking and billing. example: eq: value folder_name: type: string title: Folder Name description: Filter by folder name (alias for board_name). example: eq: value workflow_status: title: Workflow Status description: Current workflow status of this task (e.g. 'To Do', 'In Progress', 'Done'). example: eq: active repeat_on_weekday: type: array items: type: integer maximum: 7 minimum: 1 example: 4 title: Repeat On Weekday description: 'Array of ISO weekday IDs (1..7) on which a recurring task fires. Example: `[1, 3, 5]` for Mondays, Wednesdays, and Fridays.' example: - 1 - 3 - 5 public_access: type: boolean title: Public Access description: Filter by task privacy (deprecated — use `private` filter instead). example: eq: value open_todo_count: type: integer title: Open Todo Count description: Number of uncompleted to-do items. example: gt: 0 board_id: type: integer title: Board description: Filter by folder (board) ID. example: - 123 task_list: title: Task List description: The task list this task belongs to within a folder. example: eq: value creation_method_id: enum: - 1 - 2 - 3 - 4 type: integer title: Creation Method description: How the task was created (e.g. manually, via automation, via email). example: - 123 before: type: string title: Before format: date description: Return tasks created on or before this date. example: eq: value repeat_on_interval: type: integer title: Repeat On Interval description: How frequently the task repeats (e.g. daily, weekly, monthly). example: eq: value description: type: string title: Description nullable: true example: |- # Investigate customer report Reproduce on staging and capture the trace. start_date: type: string title: Start Date format: date description: Date when work on the task is planned to begin. example: gt: '2026-01-01' workflow_status_position: title: Workflow Status Position description: Sort position of the workflow status within its workflow. example: eq: active project_id: type: integer title: Project description: ID of the project (workspace) this task belongs to. example: - 123 todo_count: type: integer title: Todo Count description: Total number of to-do checklist items on this task. example: gt: 0 attachment_ids: title: Attachment Ids description: Files attached to this task. example: - 123 - 456 start_date_after: type: string title: Start Date After format: date description: Return tasks starting on or after this date. example: gt: '2026-01-01' repeated_task: title: Repeated Task description: The recurring schedule configuration if this task repeats. example: eq: value title: type: string title: Title description: Descriptive name of the task. example: eq: value skip_reposition: type: boolean title: Skip Reposition description: If true, skips reordering of other tasks when placing this one. example: eq: value open_subtask_count: type: integer title: Open Subtask Count description: Number of unclosed subtasks. example: gt: 0 board_status: enum: - 1 - 2 type: integer title: Board Status description: The open/closed status of the task list (board) this task belongs to. example: eq: active repeat_schedule_id: enum: - 1 - 2 - 3 - 4 - 5 type: integer title: Repeat Schedule description: ID of the repeat schedule if this task recurs on a regular interval. example: - 123 worked_time: type: integer title: Worked Time description: Total time tracked on this task across all time entries, in minutes. example: gt: 0 person_type: type: integer title: Person Type description: Filter by parent/subtask distinction. example: eq: active id: type: integer title: Id description: The unique identifier of this task. example: - 123 after: type: string title: After format: date description: Return tasks created on or after this date. example: eq: value creator: title: Creator description: The person who created this task. example: eq: value workflow_id: type: integer title: Workflow description: ID of the workflow this task's status belongs to. example: - 123 workflow_status_category_id: enum: - 1 - 2 - 3 type: integer title: Workflow Status Category description: 'Filter by status category: not started (1), started (2), or closed (3).' example: - 123 trackable_by_person_id: type: integer title: Trackable By Person description: Filter tasks to those trackable by the specified person, based on restricted tracking settings. example: - 123 fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy date matching across task date fields. example: gt: '2026-01-01' custom_field_attachments: title: Custom Field Attachments description: Files uploaded to file-type custom fields on this task. example: gt: '2026-01-01' assignee_id: type: integer title: Assignee description: Filter by assigned person (also matches open to-do assignees). example: - 123 repeat_on_monthday: type: integer title: Repeat On Monthday description: Day of the month for monthly recurring tasks. example: eq: value private: type: boolean title: Private description: Whether this task is visible only to project members (not shared via public links). example: true folder_position: title: Folder Position description: Sort position of this task within its folder. example: eq: value task_list_position: title: Task List Position description: Sort position of this task within its task list. example: eq: value type_id: enum: - 1 - 3 type: integer title: Type description: 'Task type: regular task, subtask, or milestone.' example: - 123 template_id: type: integer title: Template description: ID of the template this task was created from. example: - 123 due_date: type: string title: Due Date format: date description: Date by which the task should be completed. example: gt: '2026-01-01' assignee: title: Assignee description: The person assigned to this task. example: eq: value description: An assignable work item within a project. Tasks progress through workflow statuses, can have subtasks, belong to task lists and folders, and link to services for time tracking and billing. example: id: '120501' type: tasks attributes: title: Implement user authentication description: Set up OAuth2 authentication with Google and GitHub providers number: '42' task_number: '42' private: false due_date: '2026-03-31' start_date: '2026-03-15' closed_at: closed: false created_at: '2026-01-15T10:00:00.000+00:00' updated_at: '2026-03-10T14:30:00.000+00:00' email_key: 7a083181e1e5f5dc5c11920d72804716 custom_fields: todo_count: 3 open_todo_count: 1 subtask_count: 2 open_subtask_count: 1 task_dependency_count: 0 type_id: 1 blocking_dependency_count: 0 waiting_on_dependency_count: 0 linked_dependency_count: 0 placement: 1000000 subtask_placement: tag_list: - backend - security last_activity_at: '2026-03-10T14:30:00.000+00:00' initial_estimate: 480 remaining_time: 240 billable_time: 120 worked_time: 240 deleted_at: relationships: project: data: type: projects id: '6899' creator: data: type: people id: '12' assignee: data: type: people id: '12' task_list: data: type: task_lists id: '14308' workflow_status: data: type: workflow_statuses id: '224' service: data: parent_task: data: resource_approval_workflow: type: object title: Approval workflow Resource properties: dynamic_subscriber_ids: type: string title: Dynamic Subscriber Ids description: Array of IDs of roles or rule-based subscribers dynamically resolved at approval time. example: - 123 - 456 subscribers: title: Subscribers description: The people subscribed to receive notifications about approval decisions. example: eq: value approver_ids: title: Approver Ids description: Array of IDs of people explicitly assigned as approvers in this workflow. example: - 123 - 456 approval_policy_id: type: integer title: Approval Policy description: The ID of the approval policy this workflow belongs to. example: - 123 approval_requirement_id: enum: - 1 - 2 - 3 type: integer title: Approval Requirement description: Internal identifier for the approval requirement configuration. example: - 123 organization: title: Organization description: The organization this approval workflow belongs to. example: eq: value event_id: type: integer title: Event description: The ID of the absence category (event) this workflow applies to, if applicable. example: - 123 approval_policy: title: Approval Policy description: The approval policy this workflow belongs to. example: eq: value event: title: Event description: The absence category (event) this workflow applies to, if the target type is absence. example: eq: value id: type: integer title: Id description: Unique identifier for the approval workflow. example: - 123 dynamic_approver_ids: type: string title: Dynamic Approver Ids description: Array of IDs of roles or rule-based approvers dynamically resolved at approval time. example: - 123 - 456 target_type_id: enum: - 1 - 2 - 3 type: integer title: Target Type description: Numeric identifier for the approval target type (e.g. time entries, expenses, absences). example: - 123 subscriber_ids: title: Subscriber Ids description: Array of IDs of people subscribed to receive notifications about approval decisions. example: - 123 - 456 approvers: title: Approvers description: The people assigned as approvers in this workflow. example: eq: value description: An approval workflow defines the approvers and subscribers for a specific approval target type within an approval policy. example: id: '169549' type: approval_workflows attributes: approval_requirement_id: 3 target_type_id: 1 dynamic_approver_ids: [] dynamic_subscriber_ids: [] relationships: organization: data: type: organizations id: '109' event: meta: included: false approval_policy: meta: included: false approvers: meta: included: false subscribers: meta: included: false resource_price: type: object title: Price Resource properties: updated_at: type: string title: Updated At format: date-time description: Timestamp when this price entry was last updated. example: gt: '2026-01-01' unit_id: enum: - 1 - 2 - 3 type: integer title: Unit description: ID of the unit used for this price entry (e.g. hours, days). example: - 123 custom_field_people: title: Custom Field People description: People referenced by custom field values on this price entry. example: eq: value currency_normalized: title: Currency Normalized description: Currency-normalized price for reporting purposes. example: eq: value estimated_cost_default: title: Estimated Cost Default description: The estimated cost converted to the organization's default currency, in whole currency units. example: gt: 0 service_type: title: Service Type description: The service type associated with this price entry. example: eq: active rate_normalized: title: Rate Normalized description: Rate normalized to a common currency for cross-company comparison. example: gt: 0 billing_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: 'Billing type for services using this price: hourly, daily, fixed-fee, etc.' example: - 123 organization: title: Organization description: The organization this price entry belongs to. example: eq: value rate: type: number title: Rate description: Billing rate in the rate card's currency. example: gt: 0 updater: title: Updater description: The person who last updated this price entry. example: eq: value estimated_cost_normalized: title: Estimated Cost Normalized description: The estimated cost converted to the organization's normalized currency, in whole currency units. example: gt: 0 budget_cap_enabled: type: boolean title: Budget Cap Enabled description: When true, the price entry has a budget cap configured for spending limits. example: gt: 0 rate_card: title: Rate Card description: The rate card this price entry belongs to, if any. example: gt: 0 custom_fields: type: object title: Custom Fields description: Custom field values for this price entry. example: eq: value estimated_hours: type: number title: Estimated Hours description: The estimated number of hours for this price entry. example: gt: 0 company: title: Company description: The client company associated with this price entry. example: eq: value currency_default: title: Currency Default description: Price in the organization's default currency. example: eq: value company_id: type: integer title: Company description: ID of the client company associated with this price entry. example: - 123 name: type: string title: Name description: Display name for this rate card line item (typically the service type name). example: eq: value custom_field_attachments: title: Custom Field Attachments description: File attachments linked to custom fields on this price entry. example: gt: '2026-01-01' editor_config: type: object title: Editor Config description: Configuration for the rich-text editor associated with this price entry. example: eq: value expense_tracking_enabled: type: boolean title: Expense Tracking Enabled description: When true, expenses can be tracked against this price entry. example: eq: value discount: type: number title: Discount description: The discount percentage applied to the rate of this price entry. example: gt: 0 service_type_id: type: integer title: Service Type description: ID of the service type associated with this price entry. example: - 123 booking_tracking_enabled: type: boolean title: Booking Tracking Enabled description: When true, resource bookings can be tracked against this price entry. example: eq: value currency: type: string title: Currency description: Currency code for this price (e.g. USD, EUR). example: eq: value rate_card_id: type: integer title: Rate Card description: ID of the rate card this price entry belongs to, if any. example: - 123 estimated_cost: type: number title: Estimated Cost description: The estimated cost of this price entry in the entry's currency, in whole currency units. example: gt: 0 time_tracking_enabled: type: boolean title: Time Tracking Enabled description: When true, time entries can be tracked against this price entry. example: gt: 0 id: type: integer title: Id description: The unique identifier of this price. example: - 123 rate_default: title: Rate Default description: Rate in the organization's default currency. example: gt: 0 markup: type: number title: Markup description: The markup percentage added on top of the cost for this price entry. example: eq: value quantity: type: number title: Quantity description: The quantity of units for this price entry. example: eq: value rate_card_status: enum: - 1 - 2 type: integer title: Rate Card Status description: The status of the rate card associated with this price entry (active or archived). example: gt: 0 description: A rate card line item defining billing type, hourly/daily rate, tracking unit, and default settings for new services. example: id: '123' type: prices attributes: amount: 15000 currency: USD billing_type: fixed service_id: 34 relationships: {} filter_expense_report: type: object title: Filter expense report properties: date_before: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense_report/properties/date_before" eq: "$ref": "#/components/schemas/resource_expense_report/properties/date_before" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/date_before" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/date_before" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/date_before" description: Filter to include expenses with a date before the given value. example: eq: value service_type_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/service_type_id" eq: "$ref": "#/components/schemas/resource_expense_report/properties/service_type_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/service_type_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/service_type_id" description: Filter operator object for service type id. example: - 123 - "$ref": "#/components/schemas/resource_expense_report/properties/service_type_id" description: Filter expense report results by service type id. example: - 123 assigned_approver_id: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/assigned_approver_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/assigned_approver_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/assigned_approver_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/assigned_approver_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/assigned_approver_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by a person assigned as an approver on the expense. example: - 123 with_draft: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/with_draft" eq: "$ref": "#/components/schemas/resource_expense_report/properties/with_draft" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/with_draft" contains: "$ref": "#/components/schemas/resource_expense_report/properties/with_draft" description: Filter operator object for with draft. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/with_draft" description: Filter expense report results by with draft. example: eq: value formulas: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_expense_report/properties/formulas" eq: "$ref": "#/components/schemas/resource_expense_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/formulas" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/formulas" description: Filter by calculated formula field values. example: eq: value approval_status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense_report/properties/approval_status" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/approval_status" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/approval_status" eq: "$ref": "#/components/schemas/resource_expense_report/properties/approval_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_expense_report/properties/approval_status" description: Filter by expense approval status. example: eq: active currency: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/currency" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/currency" eq: "$ref": "#/components/schemas/resource_expense_report/properties/currency" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/currency" contains: "$ref": "#/components/schemas/resource_expense_report/properties/currency" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by the currency code of the expense. example: eq: value amount_with_tax: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/amount_with_tax" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/amount_with_tax" contains: "$ref": "#/components/schemas/resource_expense_report/properties/amount_with_tax" eq: "$ref": "#/components/schemas/resource_expense_report/properties/amount_with_tax" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/amount_with_tax" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 description: Filter by expense amount range including tax. example: gt: 0 stage_type: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/stage_type" contains: "$ref": "#/components/schemas/resource_expense_report/properties/stage_type" eq: "$ref": "#/components/schemas/resource_expense_report/properties/stage_type" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/stage_type" description: Filter operator object for stage type. example: eq: active - "$ref": "#/components/schemas/resource_expense_report/properties/stage_type" description: Filter expense report results by stage type. example: eq: active draft: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/draft" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/draft" contains: "$ref": "#/components/schemas/resource_expense_report/properties/draft" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/draft" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/draft" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by draft status; when true, includes only draft expenses. example: eq: value fuzzy_people: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/fuzzy_people" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/fuzzy_people" eq: "$ref": "#/components/schemas/resource_expense_report/properties/fuzzy_people" contains: "$ref": "#/components/schemas/resource_expense_report/properties/fuzzy_people" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/fuzzy_people" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter using fuzzy/partial person name matching. example: eq: value jump_query: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/jump_query" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/jump_query" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/jump_query" contains: "$ref": "#/components/schemas/resource_expense_report/properties/jump_query" eq: "$ref": "#/components/schemas/resource_expense_report/properties/jump_query" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Internal quick-search query for jump navigation. example: eq: value date_after: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/date_after" eq: "$ref": "#/components/schemas/resource_expense_report/properties/date_after" contains: "$ref": "#/components/schemas/resource_expense_report/properties/date_after" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/date_after" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/date_after" description: Filter to include expenses with a date after the given value. example: eq: value reimbursement: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/reimbursement" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursement" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursement" contains: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursement" eq: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursement" description: Filter operator object for reimbursement. example: eq: value description: Filter expense report results by reimbursement. example: eq: value full_query: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/full_query" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/full_query" eq: "$ref": "#/components/schemas/resource_expense_report/properties/full_query" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/full_query" contains: "$ref": "#/components/schemas/resource_expense_report/properties/full_query" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Full-text search query across expense report fields. example: eq: value invoice_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/invoice_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/invoice_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/invoice_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/invoice_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_expense_report/properties/invoice_id" description: Filter by the associated invoice. example: - 123 pay_on_before: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/pay_on_before" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on_before" eq: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on_before" contains: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on_before" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on_before" description: Filter operator object for pay on before. example: eq: value description: Filter expense report results by pay on before. example: eq: value responsible_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense_report/properties/responsible_id" eq: "$ref": "#/components/schemas/resource_expense_report/properties/responsible_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/responsible_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/responsible_id" description: Filter operator object for responsible id. example: - 123 - "$ref": "#/components/schemas/resource_expense_report/properties/responsible_id" description: Filter expense report results by responsible id. example: - 123 allocation_status: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/allocation_status" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/allocation_status" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/allocation_status" contains: "$ref": "#/components/schemas/resource_expense_report/properties/allocation_status" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/allocation_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by the allocation status of the expense (e.g. billable, non-billable). example: eq: active fuzzy_dates: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense_report/properties/fuzzy_dates" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/fuzzy_dates" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/fuzzy_dates" eq: "$ref": "#/components/schemas/resource_expense_report/properties/fuzzy_dates" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_expense_report/properties/fuzzy_dates" description: Filter using fuzzy/relative date expressions (e.g. 'this month', 'last quarter'). example: gt: '2026-01-01' query: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/query" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/query" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/query" contains: "$ref": "#/components/schemas/resource_expense_report/properties/query" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/query" description: Filter operator object for query. example: eq: value description: Filter expense report results by query. example: eq: value billable_amount: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/billable_amount" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/billable_amount" eq: "$ref": "#/components/schemas/resource_expense_report/properties/billable_amount" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/billable_amount" contains: "$ref": "#/components/schemas/resource_expense_report/properties/billable_amount" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 description: Filter by the billable amount — the cost billed to the client. example: gt: 0 updated_at: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense_report/properties/updated_at" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/updated_at" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/updated_at" eq: "$ref": "#/components/schemas/resource_expense_report/properties/updated_at" - "$ref": "#/components/schemas/resource_expense_report/properties/updated_at" custom_fields: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/custom_fields" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_expense_report/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_expense_report/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/custom_fields" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by custom field values. example: eq: value paid_on_after: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on_after" contains: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on_after" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on_after" eq: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on_after" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/paid_on_after" description: Filter to include expenses paid after the given date. example: eq: value vendor_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/vendor_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/vendor_id" eq: "$ref": "#/components/schemas/resource_expense_report/properties/vendor_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/vendor_id" description: Filter operator object for vendor id. example: - 123 - "$ref": "#/components/schemas/resource_expense_report/properties/vendor_id" description: Filter expense report results by vendor id. example: - 123 paid_on_before: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/paid_on_before" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on_before" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on_before" contains: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on_before" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on_before" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter to include expenses paid before the given date. example: eq: value service_id: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/service_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/service_id" eq: "$ref": "#/components/schemas/resource_expense_report/properties/service_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/service_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/service_id" description: Filter operator object for service id. example: - 123 description: Filter expense report results by service id. example: - 123 updater_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/updater_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/updater_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/updater_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/updater_id" - "$ref": "#/components/schemas/resource_expense_report/properties/updater_id" quantity: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/quantity" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/quantity" contains: "$ref": "#/components/schemas/resource_expense_report/properties/quantity" eq: "$ref": "#/components/schemas/resource_expense_report/properties/quantity" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/quantity" description: Filter operator object for quantity. example: eq: value description: Filter expense report results by quantity. example: eq: value purchase_order_id: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/purchase_order_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/purchase_order_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/purchase_order_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/purchase_order_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/purchase_order_id" description: Filter operator object for purchase order id. example: eq: - 1234567 description: Filter expense report results by purchase order id. example: eq: - 1234567 quote_type: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/quote_type" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/quote_type" eq: "$ref": "#/components/schemas/resource_expense_report/properties/quote_type" contains: "$ref": "#/components/schemas/resource_expense_report/properties/quote_type" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/quote_type" description: Filter operator object for quote type. example: eq: active description: Filter expense report results by quote type. example: eq: active tax_rate_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/tax_rate_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/tax_rate_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/tax_rate_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/tax_rate_id" description: Filter operator object for tax rate id. example: - 123 - "$ref": "#/components/schemas/resource_expense_report/properties/tax_rate_id" description: Filter expense report results by tax rate id. example: - 123 project_id: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/project_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/project_id" eq: "$ref": "#/components/schemas/resource_expense_report/properties/project_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/project_id" description: Filter operator object for project id. example: - 123 description: Filter expense report results by project id. example: - 123 date: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/date" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/date" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/date" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/date" contains: "$ref": "#/components/schemas/resource_expense_report/properties/date" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by expense date range (`date`). example: gt: '2026-01-01' pay_on: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/pay_on" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on" contains: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on" description: Filter operator object for pay on. example: eq: value description: Filter expense report results by pay on. example: eq: value company_id: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/company_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/company_id" eq: "$ref": "#/components/schemas/resource_expense_report/properties/company_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/company_id" description: Filter operator object for company id. example: - 123 description: Filter expense report results by company id. example: - 123 designated_approver_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense_report/properties/designated_approver_id" eq: "$ref": "#/components/schemas/resource_expense_report/properties/designated_approver_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/designated_approver_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/designated_approver_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_expense_report/properties/designated_approver_id" description: Filter by the designated approver of the expense's associated quote. example: - 123 pay_on_after: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on_after" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on_after" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on_after" contains: "$ref": "#/components/schemas/resource_expense_report/properties/pay_on_after" description: Filter operator object for pay on after. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/pay_on_after" description: Filter expense report results by pay on after. example: eq: value reimbursable: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursable" eq: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursable" contains: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursable" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursable" description: Filter operator object for reimbursable. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/reimbursable" description: Filter expense report results by reimbursable. example: eq: value name: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense_report/properties/name" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/name" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/name" eq: "$ref": "#/components/schemas/resource_expense_report/properties/name" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/name" description: Filter by the expense description (what it was for). example: eq: value creator_id: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/creator_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/creator_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/creator_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the person who created the expense. example: - 123 invoicing_status: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/invoicing_status" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense_report/properties/invoicing_status" eq: "$ref": "#/components/schemas/resource_expense_report/properties/invoicing_status" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/invoicing_status" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/invoicing_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by invoicing status (not invoiced, drafted, or finalized). example: eq: active reimbursed_on: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/reimbursed_on" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursed_on" contains: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursed_on" eq: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursed_on" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/reimbursed_on" description: Filter operator object for reimbursed on. example: eq: value description: Filter expense report results by reimbursed on. example: eq: value id: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/id" eq: "$ref": "#/components/schemas/resource_expense_report/properties/id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by expense ID. example: - 123 paid_on: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on" eq: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on" contains: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/paid_on" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/paid_on" description: Filter by payment date range (`paid_on`). example: eq: value approved_at: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/approved_at" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense_report/properties/approved_at" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/approved_at" eq: "$ref": "#/components/schemas/resource_expense_report/properties/approved_at" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/approved_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by the date the expense was approved. example: gt: '2026-01-01' person_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/person_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/person_id" eq: "$ref": "#/components/schemas/resource_expense_report/properties/person_id" description: Filter operator object for person id. example: - 123 - "$ref": "#/components/schemas/resource_expense_report/properties/person_id" description: Filter expense report results by person id. example: - 123 section_name: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/section_name" eq: "$ref": "#/components/schemas/resource_expense_report/properties/section_name" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/section_name" contains: "$ref": "#/components/schemas/resource_expense_report/properties/section_name" description: Filter operator object for section name. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/section_name" description: Filter expense report results by section name. example: eq: value recognized_revenue: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/recognized_revenue" eq: "$ref": "#/components/schemas/resource_expense_report/properties/recognized_revenue" contains: "$ref": "#/components/schemas/resource_expense_report/properties/recognized_revenue" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/recognized_revenue" description: Filter operator object for recognized revenue. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/recognized_revenue" description: Filter expense report results by recognized revenue. example: eq: value approver_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/approver_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/approver_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/approver_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/approver_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_expense_report/properties/approver_id" description: Filter by the person who approved the expense. example: - 123 profit: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/profit" contains: "$ref": "#/components/schemas/resource_expense_report/properties/profit" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/profit" eq: "$ref": "#/components/schemas/resource_expense_report/properties/profit" description: Filter operator object for profit. example: eq: value - "$ref": "#/components/schemas/resource_expense_report/properties/profit" description: Filter expense report results by profit. example: eq: value created_at: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/created_at" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/created_at" contains: "$ref": "#/components/schemas/resource_expense_report/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/created_at" eq: "$ref": "#/components/schemas/resource_expense_report/properties/created_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by creation date range (`created_at`). example: gt: '2026-01-01' invoiced: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/invoiced" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/invoiced" eq: "$ref": "#/components/schemas/resource_expense_report/properties/invoiced" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/invoiced" contains: "$ref": "#/components/schemas/resource_expense_report/properties/invoiced" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by invoiced status; when true, includes only invoiced expenses. example: eq: value awaiting_approval_from_approver_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/awaiting_approval_from_approver_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/awaiting_approval_from_approver_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/awaiting_approval_from_approver_id" contains: "$ref": "#/components/schemas/resource_expense_report/properties/awaiting_approval_from_approver_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_expense_report/properties/awaiting_approval_from_approver_id" description: Filter by approver ID for expenses awaiting that person's approval. example: - 123 export_status: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/export_status" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/export_status" eq: "$ref": "#/components/schemas/resource_expense_report/properties/export_status" contains: "$ref": "#/components/schemas/resource_expense_report/properties/export_status" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/export_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by the export status of the expense (e.g. whether it was copied to accounting software). example: eq: active status: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/status" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_report/properties/status" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/status" contains: "$ref": "#/components/schemas/resource_expense_report/properties/status" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/status" description: Filter operator object for status. example: eq: active description: Filter expense report results by status. example: eq: active amount: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/amount" contains: "$ref": "#/components/schemas/resource_expense_report/properties/amount" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/amount" eq: "$ref": "#/components/schemas/resource_expense_report/properties/amount" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: 0 - "$ref": "#/components/schemas/resource_expense_report/properties/amount" description: Filter by expense amount range (before tax). example: gt: 0 deal_id: oneOf: - "$ref": "#/components/schemas/resource_expense_report/properties/deal_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_expense_report/properties/deal_id" not_eq: "$ref": "#/components/schemas/resource_expense_report/properties/deal_id" not_contain: "$ref": "#/components/schemas/resource_expense_report/properties/deal_id" eq: "$ref": "#/components/schemas/resource_expense_report/properties/deal_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated budget or deal. example: - 123 patternProperties: "^deal..*$": title: Deal relationship "^budget..*$": title: Budget relationship "^person..*$": title: Person relationship "^vendor..*$": title: Vendor relationship "^approver..*$": title: Approver relationship "^service_type..*$": title: Service type relationship "^purchase_order..*$": title: Purchase order relationship description: Available filter parameters for querying aggregated expense report data. example: id: eq: '123' resource_attachment: type: object title: Attachment Resource properties: page_id: type: integer title: Page description: The ID of the doc page this attachment is associated with. example: - 123 thumb: title: Thumb description: URL of a thumbnail image for previewing this attachment (for image files). example: eq: value id: type: integer title: Id description: The unique identifier of this attachment. example: - 123 attachment_type: enum: - attachment - inline type: string title: Attachment Type description: The attachment category type (e.g. file, image, document). example: eq: active email: title: Email description: The email this attachment was received from or sent with. example: eq: value message_id: type: integer title: Message description: The email thread message ID this attachment belongs to. example: - 123 deleted_at: type: string title: Deleted At format: date-time description: Timestamp when this attachment was soft-deleted. Null if not deleted. example: gt: '2026-01-01' size: title: Size description: The file size in bytes. example: eq: value type: type: integer title: Type description: The attachment type identifier (e.g. file vs embedded image). example: eq: active aws_policy: title: Aws Policy description: The AWS S3 presigned upload policy used for direct file uploads to object storage. example: eq: value full_query: type: string title: Full Query description: Full-text search query context for this attachment. example: eq: value invoice: title: Invoice description: The invoice this attachment is associated with. example: eq: value expense: title: Expense description: The expense this attachment is associated with (e.g. receipt or supporting document). example: eq: value document_type: title: Document Type description: The document type template used for generating structured PDF documents from this attachment. example: eq: active deal: title: Deal description: The deal this attachment is associated with. example: eq: value organization: title: Organization description: The organization this attachment belongs to. example: eq: value booking_id: type: integer title: Booking description: ID of the booking this attachment is associated with. example: - 123 fuzzy_people: type: integer title: Fuzzy People description: Fuzzy person references extracted from this attachment for search purposes. example: eq: value creator: title: Creator description: The person who uploaded this attachment. example: eq: value content_type: title: Content Type description: The MIME content type of this file (e.g. image/png, application/pdf). example: eq: active purchase_order_id: type: integer title: Purchase Order description: ID of the purchase order this attachment is associated with. example: 1234567 document_style: title: Document Style description: The document layout style applied when rendering this attachment as a PDF. example: eq: value invoice_id: type: integer title: Invoice description: ID of the invoice this attachment is associated with. example: - 123 purchase_order: title: Purchase Order description: The purchase order this attachment is associated with. example: data: type: purchase_orders id: '1234567' bill: title: Bill description: The bill this attachment is associated with. example: eq: value document_type_id: type: integer title: Document Type description: ID of the document type this attachment is associated with. example: - 123 jump_query: type: string title: Jump Query description: Jump-to search query context for navigating to this attachment. example: eq: value document_style_id: type: integer title: Document Style description: ID of the document style this attachment is associated with. example: - 123 page: title: Page description: The doc page this attachment is associated with. example: eq: value task_id: type: integer title: Task description: The ID of the task this attachment is associated with. example: - 123 expense_id: type: integer title: Expense description: ID of the expense this attachment is associated with. example: - 123 comment: title: Comment description: The comment this attachment belongs to. example: eq: value file_updated_at: title: File Updated At description: Timestamp when the file content was last updated in storage. example: gt: '2026-01-01' widget_id: type: integer title: Widget description: ID of the widget this attachment is associated with. example: - 123 temp_url: title: Temp Url description: A temporary pre-signed URL for accessing the file, valid for a limited time. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy date tokens extracted from this attachment for search purposes. example: gt: '2026-01-01' external_id: type: integer title: External description: The external system ID for this attachment, used when synced from an integration. example: - 123 creator_id: type: integer title: Creator description: The ID of the person who uploaded this attachment. example: - 123 company_id: type: integer title: Company description: The ID of the company this attachment is associated with. example: - 123 project_id: type: integer title: Project description: The ID of the project this attachment is scoped to. example: - 123 comment_id: type: integer title: Comment description: The ID of the comment this attachment belongs to. example: - 123 created_at: type: string title: Created At format: date-time description: Timestamp when this attachment was uploaded. example: gt: '2026-01-01' url: title: Url description: The download URL for this attachment. example: eq: value resized: type: boolean title: Resized description: Whether resized image variants are available for this attachment. example: eq: value name: title: Name description: The filename of the uploaded file. example: eq: value attachable_type: type: string title: Attachable Type description: The type of the parent entity this file is attached to (e.g. comment, expense, task). example: eq: active notes_attachment: type: boolean title: Notes Attachment description: Whether this attachment is embedded in a notes or rich text field. example: gt: '2026-01-01' task: title: Task description: The task this attachment is associated with. example: eq: value bill_id: type: integer title: Bill description: ID of the bill (vendor invoice) this attachment is associated with. example: - 123 description: An uploaded file attached to a task, comment, expense, or other entity. example: id: '890' type: attachments attributes: name: design-mockup-v2.png file_size: 2048000 content_type: image/png created_at: '2026-03-10T10:00:00.000+00:00' url: relationships: creator: data: type: people id: '12' filter_pipeline: type: object title: Filter pipeline properties: pipeline_type_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" eq: "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" contains: "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" not_contain: "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_pipeline/properties/pipeline_type_id" description: Filter by pipeline type ID. example: - 123 patternProperties: {} description: Filter parameters for listing pipelines. Supports filtering by name, type (sales or production), and position. Standard string and ID operators apply. example: id: eq: '123' filter_purchase_order: type: object title: Filter purchase order properties: query: oneOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/query" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_purchase_order/properties/query" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/query" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/query" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/query" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: PO-2024 description: Free-text search across the purchase order number and quick-search terms. example: eq: PO-2024 issued_on: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_purchase_order/properties/issued_on" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/issued_on" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/issued_on" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/issued_on" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: '2026-04-10' - "$ref": "#/components/schemas/resource_purchase_order/properties/issued_on" description: Filter by issue date. example: eq: '2026-04-10' created_at: oneOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/created_at" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/created_at" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/created_at" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/created_at" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: '2026-04-01T09:00:00.000+01:00' description: Filter by creation timestamp. example: eq: '2026-04-01T09:00:00.000+01:00' creator_id: oneOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/creator_id" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: - 345678 description: Filter by the person who created the purchase order. example: eq: - 345678 status_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: - 1 - "$ref": "#/components/schemas/resource_purchase_order/properties/status_id" description: Filter by purchase order status. example: eq: - 1 sent_status: oneOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/sent_status" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_purchase_order/properties/sent_status" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/sent_status" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/sent_status" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/sent_status" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: - 1 description: Filter by whether the purchase order has been sent. One of `sent` or `not_sent`. example: eq: - 1 received_on: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_purchase_order/properties/received_on" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/received_on" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/received_on" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/received_on" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: '2026-04-15T10:30:00.000+01:00' - "$ref": "#/components/schemas/resource_purchase_order/properties/received_on" description: Filter by the date goods or services were received. example: eq: '2026-04-15T10:30:00.000+01:00' deal_id: oneOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/deal_id" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: - 456789 description: Filter by the parent deal (budget) the purchase order belongs to. example: eq: - 456789 total_received: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/total_received" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/total_received" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/total_received" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/total_received" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: 150000 - "$ref": "#/components/schemas/resource_purchase_order/properties/total_received" description: Filter by amount already received. example: eq: 150000 sent_on: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/sent_on" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/sent_on" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/sent_on" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/sent_on" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: '2026-04-10' - "$ref": "#/components/schemas/resource_purchase_order/properties/sent_on" description: Filter by the date the purchase order was sent. example: eq: '2026-04-10' delivery_on: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/delivery_on" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/delivery_on" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/delivery_on" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/delivery_on" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: '2026-04-17' - "$ref": "#/components/schemas/resource_purchase_order/properties/delivery_on" description: Filter by expected delivery date. example: eq: '2026-04-17' id: oneOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_purchase_order/properties/id" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/id" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/id" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/id" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: - 1234567 description: Filter by purchase order ID. example: eq: - 1234567 payment_status_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: - 1 - "$ref": "#/components/schemas/resource_purchase_order/properties/payment_status_id" description: Filter by payment status. example: eq: - 1 number: oneOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/number" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/number" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/number" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/number" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/number" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: PO-2024-017 description: Filter by the human-readable purchase order number. example: eq: PO-2024-017 vendor_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: - 234567 - "$ref": "#/components/schemas/resource_purchase_order/properties/vendor_id" description: Filter by the vendor company fulfilling the purchase order. example: eq: - 234567 total_cost_with_tax: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost_with_tax" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost_with_tax" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost_with_tax" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost_with_tax" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: 187500 - "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost_with_tax" description: Filter by total amount including tax. example: eq: 187500 project_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/project_id" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/project_id" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/project_id" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: - 567890 - "$ref": "#/components/schemas/resource_purchase_order/properties/project_id" description: Filter by the project the parent deal belongs to. example: eq: - 567890 total_cost: oneOf: - "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost" contains: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost" eq: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost" not_eq: "$ref": "#/components/schemas/resource_purchase_order/properties/total_cost" description: 'Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.' example: eq: 150000 description: Filter by pre-tax total amount. example: eq: 150000 description: Filter shape for the purchase orders collection — per-field filters keyed by purchase order attributes. example: id: eq: - 1234567 status_id: eq: - 1 issued_on: gt: '2026-01-01' resource_survey: type: object title: Survey Resource properties: query: type: string title: Query description: Text search query applied when filtering surveys. example: eq: value updater: title: Updater description: The person who last updated this survey. example: eq: value public_uuid: type: string title: Public Uuid description: Public UUID used to identify this survey in shareable links. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created this survey. example: - 123 updated_at: type: string title: Updated At format: date-time description: Timestamp when this survey was last updated. example: gt: '2026-01-01' title: type: string title: Title description: The title of this survey. example: eq: value creator: title: Creator description: The person who created this survey. example: eq: value project_id: type: integer title: Project description: ID of the project this survey is associated with. example: - 123 submission_access: enum: - nobody - project_members - organization - public type: string title: Submission Access description: 'Controls who can submit responses to this survey: nobody, project_members, organization, or public.' example: eq: value organization: title: Organization description: The organization this survey belongs to. example: eq: value id: type: integer title: Id description: The unique identifier of this survey. example: - 123 project: title: Project description: The project this survey is associated with. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when this survey was created. example: gt: '2026-01-01' editable: type: boolean title: Editable description: Whether the current user can edit this survey. example: eq: value description: Project form for structured data collection. Supports automation triggers on submission. Responses are stored as survey_response records with field values. example: id: '7' type: surveys attributes: title: Client Satisfaction Q1 2026 status: published created_at: '2026-01-15T10:00:00.000+00:00' relationships: project: data: type: projects id: '6899' resource_purchase_order: type: object title: Purchase order Resource properties: footer_interpolated: title: Footer Interpolated description: The footer text with template placeholders replaced by actual values from the purchase order. example: 'Payment terms: net 30.' total_cost_with_tax_normalized: title: Total Cost With Tax Normalized description: The total cost with tax normalized. example: 187500 delivery_on: type: string title: Delivery On format: date description: Date when the goods or services covered by this purchase order are expected to be delivered. example: '2026-04-17' deal_id: type: integer title: Deal description: ID of the deal (budget) this purchase order is linked to. example: 456789 export_integration_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 type: integer title: Export Integration Type description: The export integration type id. example: 3 status_id: enum: - 1 - 2 type: integer title: Status description: The ID of the approval status of this purchase order (e.g. draft, pending, finalized). example: 1 currency_default: title: Currency Default description: The purchase order amount converted to the organization's default currency. example: USD exported: title: Exported description: Whether this purchase order has been exported to an accounting system. example: true note_interpolated: title: Note Interpolated description: The note text with template placeholders replaced by actual values from the purchase order. example: Please confirm delivery date for PO-2024-017. deal_name: title: Deal Name description: The name of the deal (budget) this purchase order is linked to. example: Q2 Marketing Campaign total_received: title: Total Received description: The total amount received against this purchase order in the purchase order's currency. example: 150000 total_cost_default: title: Total Cost Default description: The total cost converted to the organization's default currency. example: 150000 document_type: title: Document Type description: The document type associated with this purchase order. example: data: type: document_types id: '12' total_cost_normalized: title: Total Cost Normalized description: The total cost converted to the normalized (reporting) currency. example: 150000 exchange_rate: type: number title: Exchange Rate description: The exchange rate applied to convert this purchase order's currency to the organization's default currency. example: '1.00000000000000000000' currency_normalized: title: Currency Normalized description: The purchase order amount converted to the normalized (reporting) currency. example: USD export_url: type: string title: Export Url description: The URL of the exported purchase order in the external accounting system. example: https://go.xero.com/PurchaseOrders/Edit/abc123 document_type_id: type: integer title: Document Type description: ID of the document type associated with this purchase order. example: 12 vendor_id: type: integer title: Vendor description: ID of the vendor (client/company) this purchase order was sent to. example: 234567 created_at: type: string title: Created At format: date-time description: Timestamp when this purchase order was created. example: '2026-04-01T09:00:00.000+01:00' sent_on: type: string title: Sent On format: date description: Date when this purchase order was sent to the vendor. example: '2026-04-10' project_id: type: integer title: Project description: ID of the project associated with the deal this purchase order is linked to. example: 567890 received_on: type: string title: Received On format: date-time description: Timestamp when this purchase order was received by the vendor, or null if not yet received. example: '2026-04-15T10:30:00.000+01:00' subject: type: string title: Subject description: The subject line of this purchase order. example: Purchase Order PO-2024-017 creator_id: type: integer title: Creator description: ID of the person who created this purchase order. example: 345678 attachment_id: type: integer title: Attachment description: ID of the file attachment associated with this purchase order. example: 89012 note: title: Note description: The note or description body of this purchase order. example: Please confirm delivery date for the attached items. payment_status_id: enum: - 1 - 2 - 3 type: integer title: Payment Status description: The payment status ID indicating how much of this purchase order has been received (1=not received, 2=partially received, 3=fully received). example: 1 total_received_default: title: Total Received Default description: The total amount received converted to the organization's default currency. example: 150000 issued_on: type: string title: Issued On format: date description: Date when this purchase order was issued. example: '2026-04-10' subscriber_ids: title: Subscriber Ids description: Array of IDs of users subscribed to receive notifications about this purchase order. example: - 345678 - 456789 currency: type: string title: Currency description: The currency of this purchase order. example: USD footer: title: Footer description: The footer text template for this purchase order, sourced from the associated document type. example: 'Payment terms: net 30.' organization: title: Organization description: The organization this purchase order belongs to. example: data: type: organizations id: '109' creator: title: Creator description: The person who created this purchase order. example: data: type: people id: '345678' export_id: type: string title: Export description: The external identifier assigned when this purchase order was exported to an accounting system. example: xero-abc123 total_received_normalized: title: Total Received Normalized description: The total amount received converted to the normalized (reporting) currency. example: 150000 exported_at: type: string title: Exported At format: date-time description: Timestamp when this purchase order was exported to an accounting system, or null if not yet exported. example: '2026-04-12T14:22:00.000+01:00' total_cost: title: Total Cost description: The total cost of this purchase order (excluding tax) in the purchase order's currency. example: 150000 id: type: integer title: Id description: Unique identifier of this purchase order. example: 1234567 total_cost_with_tax_default: title: Total Cost With Tax Default description: The total cost with tax default. example: 187500 attachment: title: Attachment description: The file attachment associated with this purchase order. example: data: type: attachments id: '89012' deal: title: Deal description: The deal (budget) this purchase order is linked to. example: data: type: deals id: '456789' total_cost_with_tax: title: Total Cost With Tax description: The total cost with tax. example: 187500 sent_status: enum: - 1 - 2 type: integer title: Sent Status description: The sent status of this purchase order, indicating whether it has been sent (1=sent, 2=not sent). example: 1 exchange_date: type: string title: Exchange Date format: date description: The date used for applying the exchange rate when converting this purchase order's currency. example: '2026-04-10' email_key: type: string title: Email Key description: A unique key used to identify this purchase order when receiving it via email. example: po-7f3c9b2a vendor: title: Vendor description: The vendor (client/company) this purchase order was sent to. example: data: type: companies id: '234567' bill_from: title: Bill From description: The billing address of the sender (bill from contact data) on this purchase order. example: data: type: contact_entries id: '79' bill_to: title: Bill To description: The billing address of the recipient (bill to contact data) on this purchase order. example: data: type: contact_entries id: '78' query: type: string title: Query description: A full-text search query to filter purchase orders by number, subject, or vendor name. example: PO-2024 number: type: string title: Number description: The auto-generated reference number of this purchase order. example: PO-2024-017 description: Vendor procurement document on a budget. Tracks subject, status, issued/delivery/received dates, vendor, amounts, and export status for accounting integration. Line items (expenses) are created from the PO and billed via bills. example: id: '45' type: purchase_orders attributes: number: PO-2026-045 status: approved amount: '25000.00' currency: USD date: '2026-02-01' created_at: '2026-02-01T10:00:00.000+00:00' relationships: company: data: type: companies id: '65111' filter_booking_report: type: object title: Filter booking report properties: date: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/date" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/date" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/date" contains: "$ref": "#/components/schemas/resource_booking_report/properties/date" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_booking_report/properties/date" description: Filter by the booking item date. example: gt: '2026-01-01' date_after: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/date_after" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/date_after" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/date_after" contains: "$ref": "#/components/schemas/resource_booking_report/properties/date_after" eq: "$ref": "#/components/schemas/resource_booking_report/properties/date_after" description: Filter operator object for date after. example: eq: value description: Filter booking report results by date after. example: eq: value project_type: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/project_type" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/project_type" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/project_type" eq: "$ref": "#/components/schemas/resource_booking_report/properties/project_type" contains: "$ref": "#/components/schemas/resource_booking_report/properties/project_type" description: Filter operator object for project type. example: eq: active description: Filter booking report results by project type. example: eq: active service_id: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/service_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/service_id" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/service_id" contains: "$ref": "#/components/schemas/resource_booking_report/properties/service_id" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/service_id" description: Filter operator object for service id. example: - 123 description: Filter booking report results by service id. example: - 123 project_id: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/project_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/project_id" contains: "$ref": "#/components/schemas/resource_booking_report/properties/project_id" description: Filter operator object for project id. example: - 123 description: Filter booking report results by project id. example: - 123 approval_status: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" eq: "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" contains: "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_booking_report/properties/approval_status" description: Filter by booking approval status (approved or unapproved). example: eq: active tags: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/tags" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/tags" contains: "$ref": "#/components/schemas/resource_booking_report/properties/tags" eq: "$ref": "#/components/schemas/resource_booking_report/properties/tags" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_booking_report/properties/tags" description: Filter by tag. example: eq: value date_before: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/date_before" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_booking_report/properties/date_before" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/date_before" eq: "$ref": "#/components/schemas/resource_booking_report/properties/date_before" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/date_before" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter to include only booking items on or before this date. example: eq: value person_id: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/person_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/person_id" contains: "$ref": "#/components/schemas/resource_booking_report/properties/person_id" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/person_id" description: Filter operator object for person id. example: - 123 description: Filter booking report results by person id. example: - 123 ended_on: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on" contains: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on" eq: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on" description: Filter operator object for ended on. example: eq: value - "$ref": "#/components/schemas/resource_booking_report/properties/ended_on" description: Filter booking report results by ended on. example: eq: value time: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/time" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_booking_report/properties/time" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/time" eq: "$ref": "#/components/schemas/resource_booking_report/properties/time" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/time" description: Filter operator object for time. example: gt: 0 description: Filter booking report results by time. example: gt: 0 created_at: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/created_at" contains: "$ref": "#/components/schemas/resource_booking_report/properties/created_at" eq: "$ref": "#/components/schemas/resource_booking_report/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/created_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_booking_report/properties/created_at" description: Filter by booking creation date range (created_at). example: gt: '2026-01-01' parent_company_id: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/parent_company_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_booking_report/properties/parent_company_id" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/parent_company_id" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/parent_company_id" eq: "$ref": "#/components/schemas/resource_booking_report/properties/parent_company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the parent company of the booking's company. example: - 123 autotracking: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/autotracking" contains: "$ref": "#/components/schemas/resource_booking_report/properties/autotracking" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/autotracking" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/autotracking" description: Filter operator object for autotracking. example: eq: value - "$ref": "#/components/schemas/resource_booking_report/properties/autotracking" description: Filter booking report results by autotracking. example: eq: value approved_at: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/approved_at" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/approved_at" eq: "$ref": "#/components/schemas/resource_booking_report/properties/approved_at" contains: "$ref": "#/components/schemas/resource_booking_report/properties/approved_at" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/approved_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by approval date range (approved_at). example: gt: '2026-01-01' with_draft: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/with_draft" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/with_draft" contains: "$ref": "#/components/schemas/resource_booking_report/properties/with_draft" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/with_draft" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/with_draft" description: Filter operator object for with draft. example: eq: value description: Filter booking report results by with draft. example: eq: value note: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/note" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/note" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/note" eq: "$ref": "#/components/schemas/resource_booking_report/properties/note" contains: "$ref": "#/components/schemas/resource_booking_report/properties/note" description: Filter operator object for note. example: eq: value description: Filter booking report results by note. example: eq: value service_type_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/service_type_id" contains: "$ref": "#/components/schemas/resource_booking_report/properties/service_type_id" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/service_type_id" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/service_type_id" description: Filter operator object for service type id. example: - 123 - "$ref": "#/components/schemas/resource_booking_report/properties/service_type_id" description: Filter booking report results by service type id. example: - 123 started_on: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/started_on" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/started_on" contains: "$ref": "#/components/schemas/resource_booking_report/properties/started_on" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/started_on" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/started_on" description: Filter operator object for started on. example: eq: value description: Filter booking report results by started on. example: eq: value billing_type_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" eq: "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_booking_report/properties/billing_type_id" description: Filter by billing type. example: - 123 person_subsidiary_id: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/person_subsidiary_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/person_subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/person_subsidiary_id" eq: "$ref": "#/components/schemas/resource_booking_report/properties/person_subsidiary_id" contains: "$ref": "#/components/schemas/resource_booking_report/properties/person_subsidiary_id" description: Filter operator object for person subsidiary id. example: - 123 description: Filter booking report results by person subsidiary id. example: - 123 approver_id: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/approver_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_booking_report/properties/approver_id" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/approver_id" eq: "$ref": "#/components/schemas/resource_booking_report/properties/approver_id" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/approver_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the person who approved the booking. example: - 123 people_custom_fields: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/people_custom_fields" eq: "$ref": "#/components/schemas/resource_booking_report/properties/people_custom_fields" contains: "$ref": "#/components/schemas/resource_booking_report/properties/people_custom_fields" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/people_custom_fields" description: Filter operator object for people custom fields. example: eq: value - "$ref": "#/components/schemas/resource_booking_report/properties/people_custom_fields" description: Filter booking report results by people custom fields. example: eq: value formulas: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/formulas" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_booking_report/properties/formulas" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/formulas" description: Filter operator object for formulas. example: eq: value description: Filter booking report results by formulas. example: eq: value budget_id: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/budget_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/budget_id" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/budget_id" eq: "$ref": "#/components/schemas/resource_booking_report/properties/budget_id" contains: "$ref": "#/components/schemas/resource_booking_report/properties/budget_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated budget. example: - 123 ended_on_before: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/ended_on_before" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on_before" eq: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on_before" contains: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on_before" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on_before" description: Filter operator object for ended on before. example: eq: value description: Filter booking report results by ended on before. example: eq: value after: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/after" contains: "$ref": "#/components/schemas/resource_booking_report/properties/after" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/after" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/after" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_booking_report/properties/after" description: Filter by bookings starting after this date (inclusive). Shorthand for a date range start. example: eq: value started_on_before: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_booking_report/properties/started_on_before" eq: "$ref": "#/components/schemas/resource_booking_report/properties/started_on_before" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/started_on_before" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/started_on_before" description: Filter operator object for started on before. example: eq: value - "$ref": "#/components/schemas/resource_booking_report/properties/started_on_before" description: Filter booking report results by started on before. example: eq: value stage_type: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" contains: "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" description: Filter operator object for stage type. example: eq: active - "$ref": "#/components/schemas/resource_booking_report/properties/stage_type" description: Filter booking report results by stage type. example: eq: active custom_fields: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/custom_fields" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_booking_report/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/custom_fields" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by custom field values. example: eq: value before: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/before" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/before" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/before" contains: "$ref": "#/components/schemas/resource_booking_report/properties/before" description: Filter operator object for before. example: eq: value - "$ref": "#/components/schemas/resource_booking_report/properties/before" description: Filter booking report results by before. example: eq: value absence_type: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/absence_type" contains: "$ref": "#/components/schemas/resource_booking_report/properties/absence_type" eq: "$ref": "#/components/schemas/resource_booking_report/properties/absence_type" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/absence_type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_booking_report/properties/absence_type" description: Filter by absence type (time off or remote work). example: eq: active event_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/event_id" contains: "$ref": "#/components/schemas/resource_booking_report/properties/event_id" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/event_id" eq: "$ref": "#/components/schemas/resource_booking_report/properties/event_id" description: Filter operator object for event id. example: - 123 - "$ref": "#/components/schemas/resource_booking_report/properties/event_id" description: Filter booking report results by event id. example: - 123 task_id: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/task_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/task_id" contains: "$ref": "#/components/schemas/resource_booking_report/properties/task_id" eq: "$ref": "#/components/schemas/resource_booking_report/properties/task_id" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/task_id" description: Filter operator object for task id. example: - 123 description: Filter booking report results by task id. example: - 123 draft: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/draft" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/draft" eq: "$ref": "#/components/schemas/resource_booking_report/properties/draft" contains: "$ref": "#/components/schemas/resource_booking_report/properties/draft" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/draft" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by booking status (confirmed or tentative/draft). example: eq: value started_on_after: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/started_on_after" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/started_on_after" contains: "$ref": "#/components/schemas/resource_booking_report/properties/started_on_after" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/started_on_after" description: Filter operator object for started on after. example: eq: value - "$ref": "#/components/schemas/resource_booking_report/properties/started_on_after" description: Filter booking report results by started on after. example: eq: value company_id: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/company_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/company_id" contains: "$ref": "#/components/schemas/resource_booking_report/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the client company associated with the booking's project. example: - 123 canceled_at: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_booking_report/properties/canceled_at" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/canceled_at" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/canceled_at" eq: "$ref": "#/components/schemas/resource_booking_report/properties/canceled_at" description: Filter operator object for canceled at. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_booking_report/properties/canceled_at" description: Filter booking report results by canceled at. example: gt: '2026-01-01' booking_type: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/booking_type" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/booking_type" contains: "$ref": "#/components/schemas/resource_booking_report/properties/booking_type" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/booking_type" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/booking_type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by booking type (budget/deal or absence). example: eq: active ended_on_after: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/ended_on_after" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on_after" contains: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on_after" not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on_after" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/ended_on_after" description: Filter operator object for ended on after. example: eq: value description: Filter booking report results by ended on after. example: eq: value rejected_at: oneOf: - "$ref": "#/components/schemas/resource_booking_report/properties/rejected_at" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_booking_report/properties/rejected_at" contains: "$ref": "#/components/schemas/resource_booking_report/properties/rejected_at" eq: "$ref": "#/components/schemas/resource_booking_report/properties/rejected_at" not_eq: "$ref": "#/components/schemas/resource_booking_report/properties/rejected_at" description: Filter operator object for rejected at. example: gt: '2026-01-01' description: Filter booking report results by rejected at. example: gt: '2026-01-01' patternProperties: "^task..*$": title: Task relationship "^event..*$": title: Event relationship "^person..*$": title: Person relationship "^booking..*$": title: Booking relationship "^service..*$": title: Service relationship description: Available filter parameters for querying aggregated booking report data. example: id: eq: '123' _filter_root_service_type: oneOf: - "$ref": "#/components/schemas/filter_service_type" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_service_type" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `service_type` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_invoice: type: object title: Invoice Resource properties: amount_with_tax: title: Amount With Tax description: Invoice total including tax, in the invoice currency. example: gt: 0 delivery_on: type: string title: Delivery On format: date description: Date when the goods or services were delivered. example: eq: value subsidiary: title: Subsidiary description: The subsidiary issuing this invoice. example: eq: value jump_query: type: string title: Jump Query description: Quick search index value for this invoice. example: eq: value responsible_id: type: integer title: Responsible description: ID of the person responsible for this invoice. example: - 123 number: type: string title: Number description: Unique invoice number. example: eq: value creator: title: Creator description: The person who created the invoice. example: eq: value fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people representation for flexible person-based display. example: eq: value amount_credited_with_tax: title: Amount Credited With Tax description: Amount credited including tax, in the invoice currency. example: gt: 0 amount_unpaid_normalized: title: Amount Unpaid Normalized description: Outstanding balance, normalized to the organization default currency. example: gt: 0 payment_terms_type: enum: - days_after_invoice_date - end_of_month - due_upon_receipt type: string title: Payment Terms Type nullable: true email_key: type: string title: Email Key description: Unique key for email-based interactions with this invoice. example: eq: value attachment_id: type: integer title: Attachment description: ID of the generated PDF attachment for this invoice. example: - 123 finalized_on: type: string title: Finalized On format: date description: Date when the invoice was finalized (locked for editing). example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp of the last modification to this invoice. example: gt: '2026-01-01' note_interpolated: title: Note Interpolated description: Invoice note with template variables resolved. example: eq: value amount_written_off_default: title: Amount Written Off Default description: Amount written off as uncollectible, in the organization default currency. example: gt: 0 credited: type: boolean title: Credited description: Whether this invoice has been credited via a credit note. example: eq: value invoiced_on: type: string title: Invoiced On format: date description: Date when the invoice was issued. example: eq: value amount_default: title: Amount Default description: Invoice amount excluding tax, in the organization default currency. example: gt: 0 invoice_type: enum: - 1 - 2 type: integer title: Invoice Type description: Display label for the invoice type (standard invoice or credit note). example: eq: active payment_terms_days: type: integer title: Payment Terms Days nullable: true parent_company_id: type: integer title: Parent Company description: ID of the parent company of the client linked to this invoice, used for hierarchical company filtering. example: 123 invoice_attributions: title: Invoice Attributions description: Links between this invoice and the budgets it bills. example: gt: '2026-01-01' exported: type: boolean title: Exported description: Whether this invoice has been exported to external accounting software. example: eq: value amount_credited_with_tax_default: title: Amount Credited With Tax Default description: Amount credited including tax, in the organization default currency. example: gt: 0 overdue_status: enum: - 1 - 2 type: integer title: Overdue Status description: Overdue status indicating whether the invoice is past its due date. example: eq: active line_item_tax: type: boolean title: Line Item Tax description: Whether tax is applied per line item rather than at the invoice level. example: eq: value export_id: type: string title: Export description: ID of this invoice in the external accounting system. example: - 123 amount_credited_with_tax_normalized: title: Amount Credited With Tax Normalized description: Amount credited including tax, normalized to the organization default currency. example: gt: 0 invoice_state: enum: - 1 - 2 type: integer title: Invoice State description: Current lifecycle state of the invoice (draft, finalized, sent, or paid). example: eq: active amount_unpaid_default: title: Amount Unpaid Default description: Outstanding balance, in the organization default currency. example: gt: 0 custom_field_people: title: Custom Field People description: People in person-type custom fields on this invoice. example: eq: value sent_on: type: string title: Sent On format: date description: Date when the invoice was sent to the client. example: eq: value purchase_order_number: type: string title: Purchase Order Number description: Client-provided purchase order number for reference. example: PO-2024-017 amount_tax: title: Amount Tax description: Total tax amount, in the invoice currency. example: gt: 0 tax2_value: type: number title: Tax2 Value description: Secondary tax rate percentage. example: eq: value tax1_name: type: string title: Tax1 Name description: Name of the primary tax (e.g. VAT). example: eq: value subscriber_id: type: integer title: Subscriber description: ID of the subscriber person for this invoice. example: - 123 currency: type: string title: Currency description: Currency code of the invoice. example: eq: value subscriber_ids: title: Subscriber Ids description: IDs of people subscribed to notifications for this invoice. example: - 123 - 456 discount: type: number title: Discount description: Discount percentage applied to the invoice total. example: gt: 0 invoice_aging: enum: - 0 - 1 - 2 - 3 - 4 type: integer title: Invoice Aging description: Number of days since the invoice was issued (aging). example: eq: value company: title: Company description: The client company being billed. example: eq: value payment_terms: type: integer title: Payment Terms description: Number of days between the invoice issue date and the due date. example: eq: value currency_default: title: Currency Default description: Organization default currency code. example: eq: value finalized_at: type: string title: Finalized At format: date-time description: Timestamp when the invoice was finalized. example: gt: '2026-01-01' paid_on: type: string title: Paid On format: date description: Date when the invoice was paid by the client. example: eq: value amount_credited_default: title: Amount Credited Default description: Amount credited via credit notes, excluding tax, in the organization default currency. example: gt: 0 payment_status: enum: - 1 - 2 - 3 type: integer title: Payment Status description: Payment status of the invoice. example: eq: active amount_written_off_normalized: title: Amount Written Off Normalized description: Amount written off as uncollectible, normalized to the organization default currency. example: gt: 0 exchange_date: type: string title: Exchange Date format: date description: Date used for currency exchange rate lookup. example: gt: '2026-01-01' note: type: string title: Note description: Internal notes on the invoice. example: eq: value project_id: type: integer title: Project description: ID of the project associated with this invoice. example: - 123 tax1_value: type: number title: Tax1 Value description: Primary tax rate percentage. example: eq: value parent_invoice_id: type: integer title: Parent Invoice description: ID of the original invoice if this is a credit note. example: - 123 query: type: string title: Query description: Search index representation of this invoice. example: eq: value export_invoice_url: type: string title: Export Invoice Url description: URL to view this invoice in the external accounting system. example: eq: value amount_tax_default: title: Amount Tax Default description: Total tax amount, in the organization default currency. example: gt: 0 full_query: type: string title: Full Query description: Full-text search index value for this invoice. example: eq: value parent_invoice: title: Parent Invoice description: The original invoice this credit note credits. example: eq: value subject: type: string title: Subject description: Short description of what is being invoiced. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: Combined status for display purposes. example: eq: active bank_account_id: type: integer title: Bank Account description: ID of the bank account for payment. example: - 123 bank_account: title: Bank Account description: The bank account for payment. example: gt: 0 sent_status: enum: - 1 - 2 type: integer title: Sent Status description: Sent status of the invoice. example: eq: active amount_with_tax_normalized: title: Amount With Tax Normalized description: Invoice total including tax, normalized to the organization default currency. example: gt: 0 company_id: type: integer title: Company description: ID of the client company being billed. example: - 123 last_activity_at: type: string title: Last Activity At format: date-time description: Date of the last activity recorded on this invoice. example: gt: '2026-01-01' invoice_type_id: enum: - 1 - 2 type: integer title: Invoice Type description: Whether this is a standard invoice or a credit note. example: - 123 company_name: title: Company Name description: Name of the client company at the time of invoicing. example: eq: value amount_paid_normalized: title: Amount Paid Normalized description: Amount already paid, normalized to the organization default currency. example: gt: 0 amount_normalized: title: Amount Normalized description: Invoice amount excluding tax, normalized to the organization default currency. example: gt: 0 amount_tax_normalized: title: Amount Tax Normalized description: Total tax amount, normalized to the organization default currency. example: gt: 0 amount_with_tax_default: title: Amount With Tax Default description: Invoice total including tax, in the organization default currency. example: gt: 0 company_reference_id: type: integer title: Company Reference description: Company reference ID in the external accounting system. example: - 123 currency_normalized: title: Currency Normalized description: Normalized currency code for cross-currency comparisons. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when the invoice was created. example: gt: '2026-01-01' issuer: title: Issuer description: The person issuing or finalizing this invoice. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created the invoice. example: - 123 document_type: title: Document Type description: The PDF template used for rendering this invoice. example: eq: active amount: title: Amount description: Invoice amount excluding tax, in the invoice currency. example: gt: 0 footer: title: Footer description: Footer text on the invoice document. example: eq: value export_status: enum: - 1 - 2 type: integer title: Export Status description: Export status to external accounting software. example: eq: active pay_on: type: string title: Pay On format: date description: Due date for payment. example: eq: value automatically_created: type: boolean title: Automatically Created description: Whether this invoice was automatically generated from a template. example: eq: value pay_on_relative: type: boolean title: Pay On Relative description: Payment due as relative days from the invoice issue date. example: eq: value bill_from: title: Bill From description: The subsidiary contact issuing the invoice. example: eq: value invoicing_method: enum: - 1 - 2 - 3 type: integer title: Invoicing Method description: Method used to generate line items on this invoice. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary issuing this invoice. example: - 123 bank_account_details: type: object title: Bank Account Details description: Bank account details shown on the invoice. example: gt: 0 amount_written_off: title: Amount Written Off description: Amount written off as uncollectible, in the invoice currency. example: gt: 0 document_type_id: type: integer title: Document Type description: ID of the PDF template used for rendering this invoice. example: - 123 amount_credited: title: Amount Credited description: Amount credited via credit notes, excluding tax, in the invoice currency. example: gt: 0 amount_unpaid: title: Amount Unpaid description: Outstanding balance, in the invoice currency. example: gt: 0 deal_id: type: integer title: Deal description: ID of the budget (deal) this invoice is linked to. example: - 123 issuer_id: type: integer title: Issuer description: ID of the person issuing or finalizing this invoice. example: - 123 amount_paid_default: title: Amount Paid Default description: Amount already paid, in the organization default currency. example: gt: 0 creation_options: type: object title: Creation Options description: Configuration options used when creating the invoice. example: eq: value attachment: title: Attachment description: The generated PDF document attached to this invoice. example: eq: value exchange_rate: type: number title: Exchange Rate description: Exchange rate from the invoice currency to the organization default currency. example: gt: 0 invoice_template_id: type: integer title: Invoice Template description: ID of the invoice template used for auto-generation. example: - 123 custom_field_attachments: title: Custom Field Attachments description: Files in file-type custom fields on this invoice. example: gt: '2026-01-01' footer_interpolated: title: Footer Interpolated description: Footer text with template variables resolved. example: eq: value deleted_at: type: string title: Deleted At format: date-time description: Soft-deletion timestamp; present if the invoice has been deleted. example: gt: '2026-01-01' organization: title: Organization description: The organization this invoice belongs to. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy date representation for flexible date-based display. example: gt: '2026-01-01' export_integration_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 type: integer title: Export Integration Type description: Type of accounting integration used for export. example: - 123 amount_paid: title: Amount Paid description: Amount already paid, in the invoice currency. example: gt: 0 exported_at: type: string title: Exported At format: date-time description: Timestamp when this invoice was exported to accounting software. example: gt: '2026-01-01' invoice_status: enum: - 0 - 1 - 2 - 3 - 4 type: integer title: Invoice Status description: Combined payment and lifecycle status for display purposes. example: eq: active id: type: integer title: Id description: Unique identifier for this invoice. example: - 123 tax2_name: type: string title: Tax2 Name description: Name of the secondary tax, if applicable. example: eq: value bill_to: title: Bill To description: The client contact receiving the invoice. example: eq: value tag_list: type: string title: Tag List description: Tags applied to this invoice. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values on this invoice. example: eq: value tags: type: string title: Tags description: Tags applied to this invoice. example: eq: value sample_data: type: boolean title: Sample Data description: Whether this record is demo data. example: eq: value amount_credited_normalized: title: Amount Credited Normalized description: Amount credited via credit notes, excluding tax, normalized to the organization default currency. example: gt: 0 description: A billing document issued to a client. Invoices progress through draft, finalized, sent, and paid stages, and contain line items drawn from budget services. example: id: '234' type: invoices attributes: number: INV-2026-001 status: draft due_date: '2026-04-15' date: '2026-03-15' created_at: '2026-03-15T09:00:00.000+00:00' updated_at: '2026-03-15T09:00:00.000+00:00' total: '12500.00' subtotal: '11363.64' tax: '1136.36' currency: USD notes: Payment due within 30 days last_activity_at: '2026-03-15T09:00:00.000+00:00' relationships: company: data: type: companies id: '65111' deal: data: type: deals id: '89' subsidiary: data: _collection_relationship: anyOf: - "$ref": "#/components/schemas/_not_included" - type: object title: Collection data properties: data: type: array items: "$ref": "#/components/schemas/_resource" description: Array of resource identifier objects for the related resources. example: - type: tasks id: '42' description: Included variant — related resource identifiers are present in `data`. example: data: - type: tasks id: '42' description: A JSON:API collection relationship — links to zero or more related resources. example: data: - type: tasks id: '42' resource_page_report: type: object title: Page report Resource properties: id: type: integer title: Id description: Unique identifier for this page report row. example: - 123 created_at: type: string title: Created At format: date description: Created at for this page report group. example: gt: '2026-01-01' currency: title: Currency description: Currency for this page report group. example: eq: value root_page_id: type: integer title: Root Page description: Root page id for this page report group. example: - 123 template: type: string title: Template description: Template for this page report group. example: eq: value organization: title: Organization description: Organization for this page report group. example: eq: value person_type: type: integer title: Person Type description: Person type for this page report group. example: eq: active report: title: Report description: Report for this page report group. example: eq: value page_id: title: Page description: Page id for this page report group. example: - 123 jump_query: type: string title: Jump Query description: Jump query for this page report group. example: eq: value query: type: string title: Query description: Query for this page report group. example: eq: value creator: title: Creator description: Creator for this page report group. example: eq: value title: type: string title: Title description: Title for this page report group. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy dates for this page report group. example: gt: '2026-01-01' parent_page_id: type: integer title: Parent Page description: Parent page id for this page report group. example: - 123 last_activity_at: type: string title: Last Activity At format: date description: Timestamp of the most recent activity on this page. example: gt: '2026-01-01' page_last_activity_at: title: Page Last Activity At description: Timestamp of the most recent activity on the page associated with this report row. example: gt: '2026-01-01' project_status: enum: - 1 - 2 type: integer title: Project Status description: Project status for this page report group. example: eq: active subscriber_id: type: integer title: Subscriber description: Subscriber id for this page report group. example: - 123 fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people for this page report group. example: eq: value page: title: Page description: Page for this page report group. example: eq: value project_id: type: integer title: Project description: Project id for this page report group. example: - 123 project: title: Project description: Project for this page report group. example: eq: value custom_fields: type: string title: Custom Fields description: Custom fields for this page report group. example: eq: value creator_id: type: integer title: Creator description: Creator id for this page report group. example: - 123 edited_at: type: string title: Edited At format: date description: Edited at for this page report group. example: gt: '2026-01-01' full_query: type: string title: Full Query description: Full query for this page report group. example: eq: value count: type: integer title: Count description: Number of pages in this report group. example: gt: 0 updater: title: Updater description: Updater for this page report group. example: eq: value status: type: integer title: Status description: Status for this page report group. example: eq: active formula_fields: title: Formula Fields description: Formula fields for this page report group. example: eq: value group: type: string title: Group description: The grouping dimension for this page report row. example: eq: value currency_normalized: title: Currency Normalized description: Currency in the normalized currency for this page report group. example: eq: value currency_default: title: Currency Default description: Currency in the organization's default currency for this page report group. example: eq: value description: An aggregated page report row grouping documentation pages by configurable dimensions with activity metrics. example: id: '123' type: page_reports attributes: views: 150 page_id: 78 date: '2026-01-15' relationships: {} _filter_root_report_category: oneOf: - "$ref": "#/components/schemas/filter_report_category" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_report_category" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `report_category` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_new_salary_report: type: object title: Filter new salary report properties: id: oneOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/id" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/id" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/id" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/id" description: Filter operator object for id. example: - 123 description: Filter new salary report results by id. example: - 123 ended_on: oneOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/ended_on" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/ended_on" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/ended_on" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/ended_on" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/ended_on" description: Filter operator object for ended on. example: eq: value description: Filter new salary report results by ended on. example: eq: value person_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/person_id" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/person_id" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/person_id" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/person_id" description: Filter operator object for person id. example: - 123 - "$ref": "#/components/schemas/resource_new_salary_report/properties/person_id" description: Filter new salary report results by person id. example: - 123 estimated_weekly_hours: oneOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/estimated_weekly_hours" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/estimated_weekly_hours" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/estimated_weekly_hours" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/estimated_weekly_hours" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/estimated_weekly_hours" description: Filter operator object for estimated weekly hours. example: gt: 0 description: Filter new salary report results by estimated weekly hours. example: gt: 0 salary_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/salary_id" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/salary_id" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/salary_id" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/salary_id" description: Filter operator object for salary id. example: - 123 - "$ref": "#/components/schemas/resource_new_salary_report/properties/salary_id" description: Filter new salary report results by salary id. example: - 123 people_custom_fields: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/people_custom_fields" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/people_custom_fields" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/people_custom_fields" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/people_custom_fields" description: Filter operator object for people custom fields. example: eq: value - "$ref": "#/components/schemas/resource_new_salary_report/properties/people_custom_fields" description: Filter new salary report results by people custom fields. example: eq: value hourly_cost: oneOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/hourly_cost" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/hourly_cost" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/hourly_cost" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/hourly_cost" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/hourly_cost" description: Filter operator object for hourly cost. example: eq: value description: Filter new salary report results by hourly cost. example: eq: value monthly_cost: oneOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/monthly_cost" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/monthly_cost" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/monthly_cost" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/monthly_cost" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/monthly_cost" description: Filter operator object for monthly cost. example: eq: value description: Filter new salary report results by monthly cost. example: eq: value holiday_calendar_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/holiday_calendar_id" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/holiday_calendar_id" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/holiday_calendar_id" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/holiday_calendar_id" description: Filter operator object for holiday calendar id. example: - 123 - "$ref": "#/components/schemas/resource_new_salary_report/properties/holiday_calendar_id" description: Filter new salary report results by holiday calendar id. example: - 123 date: oneOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/date" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/date" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/date" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/date" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/date" description: Filter operator object for date. example: gt: '2026-01-01' description: Filter new salary report results by date. example: gt: '2026-01-01' weekly_cost: oneOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/weekly_cost" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/weekly_cost" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/weekly_cost" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/weekly_cost" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/weekly_cost" description: Filter operator object for weekly cost. example: eq: value description: Filter new salary report results by weekly cost. example: eq: value bi_weekly_cost: oneOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/bi_weekly_cost" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/bi_weekly_cost" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/bi_weekly_cost" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/bi_weekly_cost" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/bi_weekly_cost" description: Filter operator object for bi weekly cost. example: eq: value description: Filter new salary report results by bi weekly cost. example: eq: value started_on: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/started_on" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/started_on" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/started_on" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/started_on" description: Filter operator object for started on. example: eq: value - "$ref": "#/components/schemas/resource_new_salary_report/properties/started_on" description: Filter new salary report results by started on. example: eq: value overhead: oneOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/overhead" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/overhead" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/overhead" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/overhead" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/overhead" description: Filter operator object for overhead. example: eq: value description: Filter new salary report results by overhead. example: eq: value formulas: oneOf: - "$ref": "#/components/schemas/resource_new_salary_report/properties/formulas" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/formulas" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/formulas" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/formulas" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/formulas" description: Filter operator object for formulas. example: eq: value description: Filter new salary report results by formulas. example: eq: value time: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/time" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/time" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/time" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/time" description: Filter operator object for time. example: gt: 0 - "$ref": "#/components/schemas/resource_new_salary_report/properties/time" description: Filter new salary report results by time. example: gt: 0 salary_type_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/salary_type_id" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/salary_type_id" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/salary_type_id" contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/salary_type_id" description: Filter operator object for salary type id. example: - 123 - "$ref": "#/components/schemas/resource_new_salary_report/properties/salary_type_id" description: Filter new salary report results by salary type id. example: - 123 annuall_cost: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_new_salary_report/properties/annuall_cost" not_contain: "$ref": "#/components/schemas/resource_new_salary_report/properties/annuall_cost" not_eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/annuall_cost" eq: "$ref": "#/components/schemas/resource_new_salary_report/properties/annuall_cost" description: Filter operator object for annuall cost. example: eq: value - "$ref": "#/components/schemas/resource_new_salary_report/properties/annuall_cost" description: Filter new salary report results by annuall cost. example: eq: value patternProperties: "^person..*$": title: Person relationship description: Available filter parameters for querying aggregated new salary report data. example: id: eq: '123' resource_payment_report: type: object title: Payment report Resource properties: report: title: Report description: Report for this payment report group. example: eq: value date_period: title: Date Period description: Time period grouping for date (e.g. week, month, quarter). example: eq: value group: type: string title: Group description: The grouping dimension for this payment report row. example: eq: value quarter: type: string title: Quarter description: Quarter grouping for this payment report row. example: eq: value project: title: Project description: Project for this payment report group. example: eq: value subsidiary: title: Subsidiary description: Subsidiary for this payment report group. example: eq: value budget_id: type: integer title: Budget description: Budget id for this payment report group. example: - 123 subsidiary_id: type: integer title: Subsidiary description: Subsidiary id for this payment report group. example: - 123 written_off_on: type: string title: Written Off On format: date description: Written off on for this payment report group. example: eq: value external_id: type: string title: External description: External id for this payment report group. example: - 123 week: type: string title: Week description: Week grouping for this payment report row. example: eq: value date: title: Date description: Date for this payment report group. example: gt: '2026-01-01' payment: title: Payment description: Payment for this payment report group. example: eq: value formulas: type: integer title: Formulas description: Formulas for this payment report group. example: eq: value payment_external_id: title: Payment External description: Payment external id for this payment report group. example: - 123 id: type: integer title: Id description: Unique identifier for this payment report row. example: - 123 total_amount_normalized: title: Total Amount Normalized description: Sum of amount in the normalized currency across all records in this payment report group. example: gt: 0 invoice: title: Invoice description: Invoice for this payment report group. example: eq: value paid_on: type: string title: Paid On format: date description: Paid on for this payment report group. example: eq: value paid_after: type: string title: Paid After format: date description: Paid after for this payment report group. example: eq: value company_id: type: integer title: Company description: Company id for this payment report group. example: - 123 count: type: integer title: Count description: Number of payments in this report group. example: gt: 0 year: type: string title: Year description: Year grouping for this payment report row. example: eq: value payment_note: title: Payment Note description: Payment note for this payment report group. example: eq: value query: type: string title: Query description: Query for this payment report group. example: eq: value currency: type: string title: Currency description: Currency for this payment report group. example: eq: value total_amount: title: Total Amount description: Sum of amount across all records in this payment report group. example: gt: 0 project_id: type: integer title: Project description: Project id for this payment report group. example: - 123 currency_default: title: Currency Default description: Currency in the organization's default currency for this payment report group. example: eq: value payment_written_off_on: title: Payment Written Off On description: Payment written off on for this payment report group. example: eq: value currency_normalized: title: Currency Normalized description: Currency in the normalized currency for this payment report group. example: eq: value amount: title: Amount description: Amount for this payment report group. example: gt: 0 number: type: string title: Number description: Number for this payment report group. example: eq: value invoice_id: type: integer title: Invoice description: Invoice id for this payment report group. example: - 123 formula_fields: title: Formula Fields description: Formula fields for this payment report group. example: eq: value organization: title: Organization description: Organization for this payment report group. example: eq: value company_report: title: Company Report description: Company report for this payment report group. example: eq: value payment_paid_on: title: Payment Paid On description: Payment paid on for this payment report group. example: eq: value month: type: string title: Month description: Month grouping for this payment report row. example: eq: value company: title: Company description: Company for this payment report group. example: eq: value total_amount_default: title: Total Amount Default description: Sum of amount in the organization's default currency across all records in this payment report group. example: gt: 0 invoice_report: title: Invoice Report description: Invoice report for this payment report group. example: eq: value payment_date: title: Payment Date description: Payment date for this payment report group. example: gt: '2026-01-01' paid_before: type: string title: Paid Before format: date description: Paid before for this payment report group. example: eq: value deal: title: Deal description: Deal for this payment report group. example: eq: value description: An aggregated payment report row grouping invoices and payments by configurable dimensions with payment amount metrics. example: id: '123' type: payment_reports attributes: amount: 5000 paid_on: '2026-01-15' invoice_id: 234 relationships: {} filter_line_item: type: object title: Filter line item properties: discount: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_line_item/properties/discount" eq: "$ref": "#/components/schemas/resource_line_item/properties/discount" not_eq: "$ref": "#/components/schemas/resource_line_item/properties/discount" not_contain: "$ref": "#/components/schemas/resource_line_item/properties/discount" description: Filter operators for discount. example: gt: 0 - "$ref": "#/components/schemas/resource_line_item/properties/discount" description: Filter by discount percentage range. example: gt: 0 expense_id: oneOf: - "$ref": "#/components/schemas/resource_line_item/properties/expense_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_line_item/properties/expense_id" contains: "$ref": "#/components/schemas/resource_line_item/properties/expense_id" eq: "$ref": "#/components/schemas/resource_line_item/properties/expense_id" not_contain: "$ref": "#/components/schemas/resource_line_item/properties/expense_id" description: Filter operators for expense_id. example: - 123 description: Filter by the associated expense. example: - 123 company_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_line_item/properties/company_id" contains: "$ref": "#/components/schemas/resource_line_item/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_line_item/properties/company_id" eq: "$ref": "#/components/schemas/resource_line_item/properties/company_id" description: Filter operators for company_id. example: - 123 - "$ref": "#/components/schemas/resource_line_item/properties/company_id" description: Filter by client company (via the associated invoice). example: - 123 id: oneOf: - "$ref": "#/components/schemas/resource_line_item/properties/id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_line_item/properties/id" not_contain: "$ref": "#/components/schemas/resource_line_item/properties/id" contains: "$ref": "#/components/schemas/resource_line_item/properties/id" eq: "$ref": "#/components/schemas/resource_line_item/properties/id" description: Filter operators for id. example: - 123 description: Filter by the line item's unique ID. example: - 123 service_type_id: oneOf: - "$ref": "#/components/schemas/resource_line_item/properties/service_type_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_line_item/properties/service_type_id" not_eq: "$ref": "#/components/schemas/resource_line_item/properties/service_type_id" not_contain: "$ref": "#/components/schemas/resource_line_item/properties/service_type_id" eq: "$ref": "#/components/schemas/resource_line_item/properties/service_type_id" description: Filter operators for service_type_id. example: - 123 description: Filter by the service type of the associated service. example: - 123 service_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_line_item/properties/service_id" not_contain: "$ref": "#/components/schemas/resource_line_item/properties/service_id" not_eq: "$ref": "#/components/schemas/resource_line_item/properties/service_id" eq: "$ref": "#/components/schemas/resource_line_item/properties/service_id" description: Filter operators for service_id. example: - 123 - "$ref": "#/components/schemas/resource_line_item/properties/service_id" description: Filter by the associated service. example: - 123 invoice_id: oneOf: - "$ref": "#/components/schemas/resource_line_item/properties/invoice_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_line_item/properties/invoice_id" contains: "$ref": "#/components/schemas/resource_line_item/properties/invoice_id" not_contain: "$ref": "#/components/schemas/resource_line_item/properties/invoice_id" not_eq: "$ref": "#/components/schemas/resource_line_item/properties/invoice_id" description: Filter operators for invoice_id. example: - 123 description: Filter by the associated invoice. example: - 123 creator_id: oneOf: - "$ref": "#/components/schemas/resource_line_item/properties/creator_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_line_item/properties/creator_id" contains: "$ref": "#/components/schemas/resource_line_item/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_line_item/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_line_item/properties/creator_id" description: Filter operators for creator_id. example: - 123 description: Filter by the person who created the line item. example: - 123 tax_name: oneOf: - "$ref": "#/components/schemas/resource_line_item/properties/tax_name" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_line_item/properties/tax_name" not_contain: "$ref": "#/components/schemas/resource_line_item/properties/tax_name" not_eq: "$ref": "#/components/schemas/resource_line_item/properties/tax_name" eq: "$ref": "#/components/schemas/resource_line_item/properties/tax_name" description: Filter using explicit operator syntax. example: eq: value description: Filter by tax name applied to the line item. example: eq: value updater_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_line_item/properties/updater_id" contains: "$ref": "#/components/schemas/resource_line_item/properties/updater_id" not_eq: "$ref": "#/components/schemas/resource_line_item/properties/updater_id" not_contain: "$ref": "#/components/schemas/resource_line_item/properties/updater_id" description: Filter operators for updater_id. example: - 123 - "$ref": "#/components/schemas/resource_line_item/properties/updater_id" description: Filter by the person who last updated the line item. example: - 123 tax_value: oneOf: - "$ref": "#/components/schemas/resource_line_item/properties/tax_value" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_line_item/properties/tax_value" not_contain: "$ref": "#/components/schemas/resource_line_item/properties/tax_value" eq: "$ref": "#/components/schemas/resource_line_item/properties/tax_value" contains: "$ref": "#/components/schemas/resource_line_item/properties/tax_value" description: Filter operators for tax_value. example: eq: value description: Filter by tax rate percentage range. example: eq: value unit_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_line_item/properties/unit_id" not_contain: "$ref": "#/components/schemas/resource_line_item/properties/unit_id" not_eq: "$ref": "#/components/schemas/resource_line_item/properties/unit_id" contains: "$ref": "#/components/schemas/resource_line_item/properties/unit_id" description: Filter operators for unit_id. example: - 123 - "$ref": "#/components/schemas/resource_line_item/properties/unit_id" description: Filter by the billing unit (e.g. hour, day, piece). example: - 123 patternProperties: "^creator..*$": title: Creator relationship "^expense..*$": title: Expense relationship "^invoice..*$": title: Invoice relationship "^service..*$": title: Service relationship "^updater..*$": title: Updater relationship "^kpd_code..*$": title: Kpd code relationship "^service_type..*$": title: Service type relationship description: Available filter parameters for querying invoice line items. example: id: eq: '123' resource_time_tracking_policy: type: object title: Time tracking policy Resource properties: restrict_time_entry_overlap: type: boolean title: Restrict Time Entry Overlap description: When true, overlapping time entry ranges are not allowed. example: gt: 0 person_id: type: integer title: Person description: The ID of the person this policy applies to, if person-specific. example: - 123 status: enum: - 1 - 2 type: integer title: Status description: The status of this policy, indicating whether it is active or archived. example: eq: active organization: title: Organization description: The organization this time tracking policy belongs to. example: eq: value full_day_absence_limit: type: integer title: Full Day Absence Limit description: Maximum hours that can be tracked on a full day of absence. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when the time tracking policy was created. example: gt: '2026-01-01' limited_tracking_message: type: string title: Limited Tracking Message description: Message shown to people when time tracking is limited (not fully disabled) for them. example: eq: value archived_at: type: string title: Archived At format: date-time description: Timestamp when this policy was archived, or null if it is still active. example: gt: '2026-01-01' time_range_mandatory: type: boolean title: Time Range Mandatory description: When true, a start and end time range must be provided for every time entry. example: gt: 0 restrict_future_tracking: type: boolean title: Restrict Future Tracking description: When true, time entries cannot be logged for future dates. example: eq: value creator: title: Creator description: The person who created this time tracking policy. example: eq: value id: type: integer title: Id description: Unique identifier for the time tracking policy. example: - 123 restrict_tracking_over_budget: type: boolean title: Restrict Tracking Over Budget description: When true, time entries cannot be logged for services that have exceeded their budget. example: gt: 0 working_day_limit: type: integer title: Working Day Limit description: Maximum hours that can be tracked on a standard working day. example: eq: value disabled_tracking_message: type: string title: Disabled Tracking Message description: Message shown to people when time tracking is fully disabled for them. example: eq: value holiday_limit: type: integer title: Holiday Limit description: Maximum hours that can be tracked on a public holiday. example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp when this time tracking policy was last updated. example: gt: '2026-01-01' last_actor: title: Last Actor description: The person who last modified this time tracking policy. example: eq: value non_working_day_limit: type: integer title: Non Working Day Limit description: Maximum hours that can be tracked on a non-working day. example: eq: value note_mandatory: type: boolean title: Note Mandatory description: When true, a note is required on every time entry submitted. example: eq: value name: type: string title: Name description: The display name of the time tracking policy. example: eq: value half_day_absence_limit: type: integer title: Half Day Absence Limit description: Maximum hours that can be tracked on a half day of absence. example: eq: value task_mandatory: type: boolean title: Task Mandatory description: When true, a task must be selected when logging a time entry. example: eq: value assigned_people_count: title: Assigned People Count description: The number of active people currently assigned to this time tracking policy. example: gt: 0 description: A time tracking policy defines rules for how time entries can be logged, including limits and mandatory fields. example: id: '123' type: time_tracking_policies attributes: name: Standard Policy requires_notes: true max_daily_hours: 12 relationships: {} _filter_root_project: oneOf: - "$ref": "#/components/schemas/filter_project" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_project" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `project` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_expense_report: type: object title: Expense report Resource properties: date_period: title: Date Period description: Time period grouping for date (e.g. week, month, quarter). example: eq: value total_billable_amount_normalized: title: Total Billable Amount Normalized description: Sum of billable amount in the normalized currency across all records in this expense report group. example: gt: 0 total_amount_default: title: Total Amount Default description: Sum of amount in the organization's default currency across all records in this expense report group. example: gt: 0 service: title: Service description: Service for this expense report group. example: eq: value name: type: string title: Name description: Name for this expense report group. example: eq: value formula_fields: title: Formula Fields description: Formula fields for this expense report group. example: eq: value custom_fields: type: string title: Custom Fields description: Custom fields for this expense report group. example: eq: value paid_on_period: title: Paid On Period description: Time period grouping for paid on (e.g. week, month, quarter). example: eq: value responsible_id: type: integer title: Responsible description: Responsible id for this expense report group. example: - 123 vendor_report: title: Vendor Report description: Vendor report for this expense report group. example: eq: value amount_with_tax: title: Amount With Tax description: Amount with tax for this expense report group. example: gt: 0 pay_on_before: type: string title: Pay On Before format: date description: Pay on before for this expense report group. example: eq: value created_at_period: title: Created At Period description: Time period grouping for created at (e.g. week, month, quarter). example: gt: '2026-01-01' updater: title: Updater total_amount_with_tax: title: Total Amount With Tax description: Sum of amount with tax across all records in this expense report group. example: gt: 0 expense: title: Expense description: Expense for this expense report group. example: eq: value invoice: title: Invoice description: Invoice for this expense report group. example: eq: value total_recognized_revenue: title: Total Recognized Revenue description: Sum of recognized revenue across all records in this expense report group. example: eq: value deal: title: Deal description: Deal for this expense report group. example: eq: value designated_approver: title: Designated Approver description: The person designated as the approver for the budget linked to this expense entry. example: eq: value approver: title: Approver description: Approver for this expense report group. example: eq: value total_billable_amount_default: title: Total Billable Amount Default description: Sum of billable amount in the organization's default currency across all records in this expense report group. example: gt: 0 designated_approver_id: type: integer title: Designated Approver description: ID of the person designated as the approver for the budget linked to this expense entry. example: - 123 with_draft: type: boolean title: With Draft description: With draft for this expense report group. example: eq: value awaiting_approval_from_approver_id: type: integer title: Awaiting Approval From Approver description: Awaiting approval from approver id for this expense report group. example: - 123 creator: title: Creator description: Creator for this expense report group. example: eq: value invoicing_status: enum: - 1 - 2 - 3 type: integer title: Invoicing Status description: Invoicing status for this expense report group. example: eq: active date: type: string title: Date format: date description: Date for this expense report group. example: gt: '2026-01-01' service_type: title: Service Type description: Service type for this expense report group. example: eq: active deal_id: type: integer title: Deal description: Deal id for this expense report group. example: - 123 year: type: string title: Year description: Year grouping for this expense report row. example: eq: value responsible: title: Responsible description: Responsible for this expense report group. example: eq: value company_report: title: Company Report description: Company report for this expense report group. example: eq: value export_status: enum: - 1 - 2 type: integer title: Export Status description: Export status for this expense report group. example: eq: active quote_type: title: Quote Type description: Quote type for this expense report group. example: eq: active company_id: type: integer title: Company description: Company id for this expense report group. example: - 123 currency_default: title: Currency Default description: Currency in the organization's default currency for this expense report group. example: eq: value creator_id: type: integer title: Creator description: Creator id for this expense report group. example: - 123 person_id: type: integer title: Person description: Person id for this expense report group. example: - 123 assigned_approver_id: type: integer title: Assigned Approver description: Assigned approver id for this expense report group. example: - 123 pay_on_after: type: string title: Pay On After format: date description: Pay on after for this expense report group. example: eq: value updated_at_period: title: Updated At Period report: title: Report description: Report for this expense report group. example: eq: value project_report: title: Project Report description: Project report for this expense report group. example: eq: value quarter: type: string title: Quarter description: Quarter grouping for this expense report row. example: eq: value paid_on_after: type: string title: Paid On After format: date description: Paid on after for this expense report group. example: eq: value billable_amount: title: Billable Amount description: Billable amount for this expense report group. example: gt: 0 fuzzy_people: type: integer title: Fuzzy People description: Fuzzy people for this expense report group. example: eq: value invoice_id: type: integer title: Invoice description: Invoice id for this expense report group. example: - 123 tax_rate_id: type: integer title: Tax Rate description: Tax rate id for this expense report group. example: - 123 query: type: string title: Query description: Query for this expense report group. example: eq: value formulas: type: integer title: Formulas description: Formulas for this expense report group. example: eq: value quantity: type: integer title: Quantity description: Quantity for this expense report group. example: eq: value group: type: string title: Group description: The grouping dimension for this expense report row. example: eq: value expense_reimbursed_on: title: Expense Reimbursed On description: Expense reimbursed on for this expense report group. example: eq: value person: title: Person description: Person for this expense report group. example: eq: value average_profit_margin_normalized: type: number title: Average Profit Margin Normalized description: Average profit margin in the normalized currency for this expense report group. example: eq: value updater_id: type: integer title: Updater stage_type: enum: - 1 - 2 type: integer title: Stage Type description: Stage type for this expense report group. example: eq: active deal_or_budget_report: title: Deal Or Budget Report description: Report object for the deal or budget associated with this expense entry. example: gt: 0 total_profit_normalized: title: Total Profit Normalized description: Sum of profit in the normalized currency across all records in this expense report group. example: eq: value average_profit_margin: type: number title: Average Profit Margin description: Average profit margin for this expense report group. example: eq: value recognized_revenue: title: Recognized Revenue description: Recognized revenue for this expense report group. example: eq: value total_recognized_revenue_default: title: Total Recognized Revenue Default description: Sum of recognized revenue in the organization's default currency across all records in this expense report group. example: eq: value total_profit_default: title: Total Profit Default description: Sum of profit in the organization's default currency across all records in this expense report group. example: eq: value total_amount_with_tax_default: title: Total Amount With Tax Default description: Sum of amount with tax in the organization's default currency across all records in this expense report group. example: gt: 0 total_tax_amount_default: title: Total Tax Amount Default description: Sum of tax amount in the organization's default currency across all records in this expense report group. example: gt: 0 project_id: type: integer title: Project description: Project id for this expense report group. example: - 123 created_at: type: string title: Created At format: date description: Created at for this expense report group. example: gt: '2026-01-01' allocation_status: enum: - 1 - 2 type: string title: Allocation Status description: Whether this expense report entry has been allocated to a service, or is unallocated. example: eq: active pay_on: type: string title: Pay On format: date description: Pay on for this expense report group. example: eq: value company: title: Company description: Company for this expense report group. example: eq: value jump_query: type: string title: Jump Query description: Jump query for this expense report group. example: eq: value approved_at: type: string title: Approved At format: date description: Timestamp when the expense was approved, or null if not yet approved. example: gt: '2026-01-01' expense_date: title: Expense Date description: Expense date for this expense report group. example: gt: '2026-01-01' total_profit: title: Total Profit description: Sum of profit across all records in this expense report group. example: eq: value purchase_order: title: Purchase Order description: Purchase order for this expense report group. example: data: type: purchase_orders id: '1234567' currency: type: string title: Currency description: Currency for this expense report group. example: eq: value profit: title: Profit description: Profit for this expense report group. example: eq: value amount: title: Amount description: Amount for this expense report group. example: gt: 0 service_type_id: type: integer title: Service Type description: Service type id for this expense report group. example: - 123 updated_at: type: string title: Updated At format: date tax_rate: title: Tax Rate description: Tax rate for this expense report group. example: gt: 0 draft: type: boolean title: Draft description: Draft for this expense report group. example: eq: value paid_on: type: string title: Paid On format: date description: Paid on for this expense report group. example: eq: value expense_name: title: Expense Name description: Expense name for this expense report group. example: eq: value reimbursed_on: type: string title: Reimbursed On format: date description: Reimbursed on for this expense report group. example: eq: value expense_created_at: title: Expense Created At description: Expense created at for this expense report group. example: gt: '2026-01-01' reimbursement: enum: - 1 - 2 - 3 type: integer title: Reimbursement description: Reimbursement for this expense report group. example: eq: value count: type: integer title: Count description: Number of expenses in this report group. example: gt: 0 invoiced: type: integer title: Invoiced description: Invoiced for this expense report group. example: eq: value total_recognized_revenue_normalized: title: Total Recognized Revenue Normalized description: Sum of recognized revenue in the normalized currency across all records in this expense report group. example: eq: value week: type: string title: Week description: Week grouping for this expense report row. example: eq: value organization: title: Organization description: Organization for this expense report group. example: eq: value month: type: string title: Month description: Month grouping for this expense report row. example: eq: value vendor_id: type: integer title: Vendor description: Vendor id for this expense report group. example: - 123 purchase_order_id: type: integer title: Purchase Order description: Purchase order id for this expense report group. example: 1234567 section_name: type: string title: Section Name description: Section name for this expense report group. example: eq: value currency_normalized: type: string title: Currency Normalized description: Currency in the normalized currency for this expense report group. example: eq: value total_tax_amount: title: Total Tax Amount description: Sum of tax amount across all records in this expense report group. example: gt: 0 vendor: title: Vendor description: Vendor for this expense report group. example: eq: value average_profit_margin_default: type: number title: Average Profit Margin Default description: Average profit margin in the organization's default currency for this expense report group. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: Status for this expense report group. example: eq: active project: title: Project description: Project for this expense report group. example: eq: value total_tax_amount_normalized: title: Total Tax Amount Normalized description: Sum of tax amount in the normalized currency across all records in this expense report group. example: gt: 0 fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy dates for this expense report group. example: gt: '2026-01-01' total_amount: title: Total Amount description: Sum of amount across all records in this expense report group. example: gt: 0 reimbursed_on_period: title: Reimbursed On Period description: Time period grouping for reimbursed on (e.g. week, month, quarter). example: eq: value person_report: title: Person Report description: The person associated with this expense report row. example: eq: value id: type: integer title: Id description: Unique identifier for this expense report row. example: - 123 expense_paid_on: title: Expense Paid On description: Expense paid on for this expense report group. example: eq: value approver_id: type: integer title: Approver description: Approver id for this expense report group. example: - 123 approved_at_period: title: Approved At Period description: The date period (year, quarter, month) of when the expense was approved. example: gt: '2026-01-01' reimbursable: type: boolean title: Reimbursable description: Reimbursable for this expense report group. example: eq: value approval_status: enum: - 1 - 2 - 3 - 4 type: integer title: Approval Status description: Approval status for this expense report group. example: eq: active service_id: type: integer title: Service description: Service id for this expense report group. example: - 123 full_query: type: string title: Full Query description: Full query for this expense report group. example: eq: value pay_on_period: title: Pay On Period description: Time period grouping for pay on (e.g. week, month, quarter). example: eq: value expense_pay_on: title: Expense Pay On description: Expense pay on for this expense report group. example: eq: value total_amount_normalized: title: Total Amount Normalized description: Sum of amount in the normalized currency across all records in this expense report group. example: gt: 0 total_amount_with_tax_normalized: title: Total Amount With Tax Normalized description: Sum of amount with tax in the normalized currency across all records in this expense report group. example: gt: 0 date_before: type: string title: Date Before format: date description: Date before for this expense report group. example: eq: value date_after: type: string title: Date After format: date description: Date after for this expense report group. example: eq: value paid_on_before: type: string title: Paid On Before format: date description: Paid on before for this expense report group. example: eq: value total_billable_amount: title: Total Billable Amount description: Sum of billable amount across all records in this expense report group. example: gt: 0 description: An aggregated expense report row grouping expenses by configurable dimensions with cost totals, billing metrics, and approval status. example: id: '123' type: expense_reports attributes: total_amount: 5000 approved_amount: 4500 pending_amount: 500 project_id: 45 relationships: {} filter_expense_line_item: type: object title: Filter expense line item properties: expense_id: oneOf: - "$ref": "#/components/schemas/resource_expense_line_item/properties/expense_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_expense_line_item/properties/expense_id" eq: "$ref": "#/components/schemas/resource_expense_line_item/properties/expense_id" contains: "$ref": "#/components/schemas/resource_expense_line_item/properties/expense_id" not_eq: "$ref": "#/components/schemas/resource_expense_line_item/properties/expense_id" example: eq: 17 example: eq: 17 tax_rate_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_expense_line_item/properties/tax_rate_id" contains: "$ref": "#/components/schemas/resource_expense_line_item/properties/tax_rate_id" not_contain: "$ref": "#/components/schemas/resource_expense_line_item/properties/tax_rate_id" not_eq: "$ref": "#/components/schemas/resource_expense_line_item/properties/tax_rate_id" example: eq: 3 - "$ref": "#/components/schemas/resource_expense_line_item/properties/tax_rate_id" example: eq: 3 id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_expense_line_item/properties/id" eq: "$ref": "#/components/schemas/resource_expense_line_item/properties/id" not_contain: "$ref": "#/components/schemas/resource_expense_line_item/properties/id" contains: "$ref": "#/components/schemas/resource_expense_line_item/properties/id" example: eq: 42 - "$ref": "#/components/schemas/resource_expense_line_item/properties/id" example: eq: 42 patternProperties: "^expense..*$": title: Expense relationship "^tax_rate..*$": title: Tax rate relationship example: expense_id: eq: 17 filter_notification: type: object title: Filter notification properties: after: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_notification/properties/after" not_eq: "$ref": "#/components/schemas/resource_notification/properties/after" eq: "$ref": "#/components/schemas/resource_notification/properties/after" contains: "$ref": "#/components/schemas/resource_notification/properties/after" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_notification/properties/after" description: Filter by after. example: eq: value id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_notification/properties/id" eq: "$ref": "#/components/schemas/resource_notification/properties/id" not_contain: "$ref": "#/components/schemas/resource_notification/properties/id" not_eq: "$ref": "#/components/schemas/resource_notification/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_notification/properties/id" description: Filter by ID. example: - 123 last_action_at: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_notification/properties/last_action_at" not_eq: "$ref": "#/components/schemas/resource_notification/properties/last_action_at" contains: "$ref": "#/components/schemas/resource_notification/properties/last_action_at" eq: "$ref": "#/components/schemas/resource_notification/properties/last_action_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_notification/properties/last_action_at" description: Filter by the timestamp of the last action triggering this notification. example: gt: '2026-01-01' mention: oneOf: - "$ref": "#/components/schemas/resource_notification/properties/mention" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_notification/properties/mention" not_eq: "$ref": "#/components/schemas/resource_notification/properties/mention" not_contain: "$ref": "#/components/schemas/resource_notification/properties/mention" contains: "$ref": "#/components/schemas/resource_notification/properties/mention" description: Filter using explicit operator syntax. example: eq: value description: Filter to include only notifications that are direct mentions. example: eq: value date_after: oneOf: - "$ref": "#/components/schemas/resource_notification/properties/date_after" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_notification/properties/date_after" contains: "$ref": "#/components/schemas/resource_notification/properties/date_after" not_eq: "$ref": "#/components/schemas/resource_notification/properties/date_after" not_contain: "$ref": "#/components/schemas/resource_notification/properties/date_after" description: Filter using explicit operator syntax. example: eq: value description: Filter notifications where the last action occurred on or after this date. example: eq: value type: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_notification/properties/type" contains: "$ref": "#/components/schemas/resource_notification/properties/type" not_eq: "$ref": "#/components/schemas/resource_notification/properties/type" eq: "$ref": "#/components/schemas/resource_notification/properties/type" description: Filter using explicit operator syntax. example: eq: active - "$ref": "#/components/schemas/resource_notification/properties/type" description: Filter by notification type (the resource type that triggered the notification). example: eq: active before: oneOf: - "$ref": "#/components/schemas/resource_notification/properties/before" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_notification/properties/before" contains: "$ref": "#/components/schemas/resource_notification/properties/before" eq: "$ref": "#/components/schemas/resource_notification/properties/before" not_eq: "$ref": "#/components/schemas/resource_notification/properties/before" description: Filter using explicit operator syntax. example: eq: value description: Filter by before. example: eq: value project_id: oneOf: - "$ref": "#/components/schemas/resource_notification/properties/project_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_notification/properties/project_id" contains: "$ref": "#/components/schemas/resource_notification/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_notification/properties/project_id" eq: "$ref": "#/components/schemas/resource_notification/properties/project_id" description: Filter using explicit operator syntax. example: - 123 description: Filter to notifications related to tasks or todos in the given project. example: - 123 dismissed: oneOf: - "$ref": "#/components/schemas/resource_notification/properties/dismissed" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_notification/properties/dismissed" eq: "$ref": "#/components/schemas/resource_notification/properties/dismissed" not_eq: "$ref": "#/components/schemas/resource_notification/properties/dismissed" not_contain: "$ref": "#/components/schemas/resource_notification/properties/dismissed" description: Filter using explicit operator syntax. example: eq: value description: Filter to include only dismissed (or non-dismissed) notifications. example: eq: value date_before: oneOf: - "$ref": "#/components/schemas/resource_notification/properties/date_before" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_notification/properties/date_before" not_contain: "$ref": "#/components/schemas/resource_notification/properties/date_before" eq: "$ref": "#/components/schemas/resource_notification/properties/date_before" not_eq: "$ref": "#/components/schemas/resource_notification/properties/date_before" description: Filter using explicit operator syntax. example: eq: value description: Filter notifications where the last action occurred on or before this date. example: eq: value important: oneOf: - "$ref": "#/components/schemas/resource_notification/properties/important" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_notification/properties/important" eq: "$ref": "#/components/schemas/resource_notification/properties/important" not_eq: "$ref": "#/components/schemas/resource_notification/properties/important" contains: "$ref": "#/components/schemas/resource_notification/properties/important" description: Filter using explicit operator syntax. example: eq: value description: Filter to include only high-importance notifications. example: eq: value patternProperties: {} description: Filter parameters for notifications. example: id: eq: '123' resource_expense_line_item: type: object title: Expense line item Resource properties: expense: title: Expense example: data: type: expenses id: '17' tax_rate_id: type: integer title: Tax Rate example: 3 unit_price: type: integer title: Unit Price example: 15000 unit_price_default: title: Unit Price Default example: 16500 position: type: integer title: Position example: 1 id: type: integer title: Id example: '42' expense_id: type: integer title: Expense example: 17 unit_price_normalized: title: Unit Price Normalized example: 16500 name: type: string title: Name example: AWS hosting quantity: type: number title: Quantity example: 2 tax_rate: title: Tax Rate example: data: type: tax_rates id: '3' example: id: '42' type: expense_line_items attributes: name: AWS hosting quantity: 2 unit_price: 15000 unit_price_default: 16500 unit_price_normalized: 16500 currency: EUR currency_default: USD currency_normalized: USD relationships: expense: data: type: expenses id: '17' tax_rate: data: type: tax_rates id: '3' resource_pulse: type: object title: Pulse Resource properties: deactivated_at: type: string title: Deactivated At format: date-time description: Timestamp when the pulse was deactivated, or null if still active. example: gt: '2026-01-01' organization: title: Organization description: The organization this pulse belongs to. example: eq: value creator_id: type: integer title: Creator description: The ID of the person who created this pulse. example: - 123 repeat_schedule_id: enum: - 1 - 2 - 3 - 4 - 5 type: integer title: Repeat Schedule description: The ID of the repeat schedule setting (e.g. daily, weekly, monthly). example: - 123 teams_team: type: string title: Teams Team description: The Microsoft Teams team name where pulse notifications are delivered. example: eq: value creator: title: Creator description: The person who created this pulse. example: eq: value schedule_hour: type: integer title: Schedule Hour description: The hour of the day (0-23) when the pulse is sent. example: eq: value export_params: type: object title: Export Params description: Export configuration parameters for the report attached to this pulse. example: eq: value slack_channel: type: string title: Slack Channel description: The Slack channel where this pulse is delivered, if configured. example: eq: value id: type: integer title: Id description: Unique identifier for the pulse. example: - 123 test_pulse: type: boolean title: Test Pulse description: When true, this is a test pulse used for previewing output without sending to real recipients. example: eq: value recipients: type: object title: Recipients description: Email addresses of recipients who receive this pulse delivery. example: eq: value memberships: title: Memberships description: The memberships (recipients) that have access to this pulse. example: eq: value type_id: enum: - 1 - 2 - 3 type: integer title: Type description: ID of the pulse delivery type (email, Slack, or Microsoft Teams). example: - 123 skip_if_empty: type: boolean title: Skip If Empty description: When true, the pulse is not sent if the report contains no data. example: eq: value filter_id: type: integer title: Filter description: The ID of the saved filter (report) delivered by this pulse. example: - 123 document_format_id: enum: - 1 - 2 - 3 type: integer title: Document Format description: The ID of the document format used when exporting the report. example: - 123 teams_channel: type: string title: Teams Channel description: The Microsoft Teams channel name within the team where pulse notifications are delivered. example: eq: value schedule_day_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 type: integer title: Schedule Day description: The ID of the day within the repeat schedule on which the pulse is sent. example: - 123 version: type: integer title: Version description: The version number of this pulse configuration, incremented on each update. example: eq: value schedule_frame_id: enum: - 1 - 2 - 3 type: integer title: Schedule Frame description: The ID of the schedule frame (e.g. this week, last month) for the report period. example: - 123 subscriber_id: type: integer title: Subscriber description: ID of the person subscribed to receive this pulse. example: - 123 filter: title: Filter description: The saved filter (report) delivered by this pulse. example: eq: value description: A pulse (scheduled report delivery) that sends a saved report to recipients via email or Slack on a recurring schedule. example: id: '123' type: pulses attributes: score: 8 response_at: '2026-01-15T10:00:00Z' person_id: 12 relationships: {} _filter_root_deal_funnel_report: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_deal_funnel_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_deal_funnel_report" description: Filter schema for `deal_funnel_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_rate_card: type: object title: Filter rate card properties: created_at: oneOf: - "$ref": "#/components/schemas/resource_rate_card/properties/created_at" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_rate_card/properties/created_at" contains: "$ref": "#/components/schemas/resource_rate_card/properties/created_at" eq: "$ref": "#/components/schemas/resource_rate_card/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_rate_card/properties/created_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter by creation date range. example: gt: '2026-01-01' status: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_rate_card/properties/status" not_contain: "$ref": "#/components/schemas/resource_rate_card/properties/status" contains: "$ref": "#/components/schemas/resource_rate_card/properties/status" eq: "$ref": "#/components/schemas/resource_rate_card/properties/status" description: Filter using explicit operator syntax. example: eq: active - "$ref": "#/components/schemas/resource_rate_card/properties/status" description: Filter by status (active or archived). example: eq: active company_id: oneOf: - "$ref": "#/components/schemas/resource_rate_card/properties/company_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" eq: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" contains: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_rate_card/properties/company_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by client company. example: - 123 name: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_rate_card/properties/name" not_contain: "$ref": "#/components/schemas/resource_rate_card/properties/name" eq: "$ref": "#/components/schemas/resource_rate_card/properties/name" contains: "$ref": "#/components/schemas/resource_rate_card/properties/name" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_rate_card/properties/name" description: Filter by name (text search). example: eq: value patternProperties: {} description: Filter parameters for listing rate cards. Supports filtering by company, archived status, and name. Standard string and ID operators apply. example: id: eq: '123' resource_todo: type: object title: Todo Resource properties: assignee_id: type: integer title: Assignee description: The ID of the person assigned to complete this checklist item. example: - 123 task_id: type: integer title: Task description: ID of the task this todo belongs to. example: - 123 closed: type: boolean title: Closed description: Indicates whether this checklist item has been completed. example: true todoable_type: type: string title: Todoable Type description: The type of the parent resource this todo is attached to (task or deal). example: eq: active organization: title: Organization description: The organization this checklist item belongs to. example: eq: value assignee: title: Assignee description: The person assigned to complete this checklist item. example: eq: value description: type: string title: Description description: Text of the todo — the content of the checklist item. deal_id: type: integer title: Deal description: The ID of the deal this checklist item belongs to, if applicable. example: - 123 task: title: Task description: The task this todo belongs to. example: eq: value id: type: integer title: Id description: Unique identifier for the checklist item. example: - 123 due_time: type: string title: Due Time format: time description: The specific time of day the checklist item is due. example: gt: 0 closed_at: type: string title: Closed At format: date-time description: Timestamp when this checklist item was completed, or null if still open. example: gt: '2026-01-01' position: type: integer title: Position description: The display order of this todo within its parent list. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when this checklist item was created. example: gt: '2026-01-01' due_date: type: string title: Due Date format: date description: The due date for completing this checklist item. example: gt: '2026-01-01' status: enum: - 1 - 2 type: integer title: Status description: 'Filter by todo status: 1 = open, 2 = closed.' example: eq: active deal: title: Deal description: The deal this checklist item belongs to, if attached to a deal. example: eq: value description: Checklist item on a task or deal. Supports description, assignee, due date (with optional time), position ordering, and completion tracking via closed_at timestamp. example: id: '24747' type: todos attributes: description: Write unit tests for authentication module closed: false closed_at: due_date: '2026-03-20' due_time: created_at: '2026-03-01T10:00:00.000+00:00' todoable_type: task position: 1 relationships: assignee: data: type: people id: '12' task: data: type: tasks id: '120501' deal: data: _filter_root_automatic_invoicing_rule: oneOf: - "$ref": "#/components/schemas/filter_automatic_invoicing_rule" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_automatic_invoicing_rule" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `automatic_invoicing_rule` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_pipeline: oneOf: - "$ref": "#/components/schemas/filter_pipeline" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_pipeline" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `pipeline` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_filter: oneOf: - "$ref": "#/components/schemas/filter_filter" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_filter" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `filter` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_einvoice_identity: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_einvoice_identity" required: - "$op" example: '0': subsidiary_id: '42' "$op": and - "$ref": "#/components/schemas/filter_einvoice_identity" example: company_id: '89' filter_service_assignment: type: object title: Filter service assignment properties: person_id: oneOf: - "$ref": "#/components/schemas/resource_service_assignment/properties/person_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service_assignment/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_service_assignment/properties/person_id" contains: "$ref": "#/components/schemas/resource_service_assignment/properties/person_id" eq: "$ref": "#/components/schemas/resource_service_assignment/properties/person_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the assigned person. example: - 123 service_id: oneOf: - "$ref": "#/components/schemas/resource_service_assignment/properties/service_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service_assignment/properties/service_id" eq: "$ref": "#/components/schemas/resource_service_assignment/properties/service_id" not_eq: "$ref": "#/components/schemas/resource_service_assignment/properties/service_id" not_contain: "$ref": "#/components/schemas/resource_service_assignment/properties/service_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated service. example: - 123 id: oneOf: - "$ref": "#/components/schemas/resource_service_assignment/properties/id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service_assignment/properties/id" not_eq: "$ref": "#/components/schemas/resource_service_assignment/properties/id" not_contain: "$ref": "#/components/schemas/resource_service_assignment/properties/id" contains: "$ref": "#/components/schemas/resource_service_assignment/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by service assignment ID. example: - 123 patternProperties: {} description: Filter parameters for querying service assignments. example: id: eq: '123' filter_placeholder: type: object title: Filter placeholder properties: id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_placeholder/properties/id" not_eq: "$ref": "#/components/schemas/resource_placeholder/properties/id" eq: "$ref": "#/components/schemas/resource_placeholder/properties/id" contains: "$ref": "#/components/schemas/resource_placeholder/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_placeholder/properties/id" description: Filter by ID. example: - 123 query: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_placeholder/properties/query" eq: "$ref": "#/components/schemas/resource_placeholder/properties/query" not_contain: "$ref": "#/components/schemas/resource_placeholder/properties/query" not_eq: "$ref": "#/components/schemas/resource_placeholder/properties/query" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_placeholder/properties/query" description: Filter placeholders by name (text search on the name field). example: eq: value created_at: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_placeholder/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_placeholder/properties/created_at" contains: "$ref": "#/components/schemas/resource_placeholder/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_placeholder/properties/created_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_placeholder/properties/created_at" description: Filter by creation date range. example: gt: '2026-01-01' project_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_placeholder/properties/project_id" contains: "$ref": "#/components/schemas/resource_placeholder/properties/project_id" eq: "$ref": "#/components/schemas/resource_placeholder/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_placeholder/properties/project_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_placeholder/properties/project_id" description: Filter by the associated project. example: - 123 category: oneOf: - "$ref": "#/components/schemas/resource_placeholder/properties/category" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_placeholder/properties/category" not_contain: "$ref": "#/components/schemas/resource_placeholder/properties/category" eq: "$ref": "#/components/schemas/resource_placeholder/properties/category" contains: "$ref": "#/components/schemas/resource_placeholder/properties/category" description: Filter using explicit operator syntax. example: eq: active description: Filter by placeholder category. example: eq: active type: oneOf: - "$ref": "#/components/schemas/resource_placeholder/properties/type" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_placeholder/properties/type" eq: "$ref": "#/components/schemas/resource_placeholder/properties/type" not_eq: "$ref": "#/components/schemas/resource_placeholder/properties/type" not_contain: "$ref": "#/components/schemas/resource_placeholder/properties/type" description: Filter using explicit operator syntax. example: eq: active description: Filter by placeholder type. example: eq: active name: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_placeholder/properties/name" eq: "$ref": "#/components/schemas/resource_placeholder/properties/name" not_eq: "$ref": "#/components/schemas/resource_placeholder/properties/name" contains: "$ref": "#/components/schemas/resource_placeholder/properties/name" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_placeholder/properties/name" description: Filter by name (text search). example: eq: value usage_project_id: oneOf: - "$ref": "#/components/schemas/resource_placeholder/properties/usage_project_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_placeholder/properties/usage_project_id" not_contain: "$ref": "#/components/schemas/resource_placeholder/properties/usage_project_id" contains: "$ref": "#/components/schemas/resource_placeholder/properties/usage_project_id" eq: "$ref": "#/components/schemas/resource_placeholder/properties/usage_project_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter placeholders that are used in tasks or todos belonging to the specified project. example: - 123 patternProperties: "^project..*$": title: Project relationship description: Filter parameters for resource planning placeholders. example: id: eq: '123' filter_discussion: type: object title: Filter discussion properties: status: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_discussion/properties/status" contains: "$ref": "#/components/schemas/resource_discussion/properties/status" eq: "$ref": "#/components/schemas/resource_discussion/properties/status" not_contain: "$ref": "#/components/schemas/resource_discussion/properties/status" description: Filter using explicit operator syntax. example: eq: active - "$ref": "#/components/schemas/resource_discussion/properties/status" description: Filter by discussion status (active or resolved). example: eq: active id: oneOf: - "$ref": "#/components/schemas/resource_discussion/properties/id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_discussion/properties/id" eq: "$ref": "#/components/schemas/resource_discussion/properties/id" not_eq: "$ref": "#/components/schemas/resource_discussion/properties/id" not_contain: "$ref": "#/components/schemas/resource_discussion/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by discussion ID. example: - 123 page_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_discussion/properties/page_id" not_contain: "$ref": "#/components/schemas/resource_discussion/properties/page_id" eq: "$ref": "#/components/schemas/resource_discussion/properties/page_id" contains: "$ref": "#/components/schemas/resource_discussion/properties/page_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_discussion/properties/page_id" description: Filter by the associated document page. example: - 123 patternProperties: {} description: Filter parameters for discussions. example: id: eq: '123' resource_einvoice_configuration: type: object title: E-invoice Configuration Resource properties: face_enabled: type: boolean title: Face Enabled example: false mer_username: type: string title: Mer Username example: mer_user@example.com tax_rate_mapping: type: object title: Tax Rate Mapping example: '1042': tax_category_id: '4' exemption_reason: '' '1043': tax_category_id: '8' exemption_reason: Export outside the EU kpd_code_mapping: type: object title: Kpd Code Mapping example: '72105': '3806' '72106': '3459' '72110': '55' subsidiary: title: Subsidiary example: data: type: subsidiaries id: '42' mer_enabled: type: boolean title: Mer Enabled example: false subsidiary_id: type: integer title: Subsidiary example: '42' include_timesheet_attachment: type: boolean title: Include Timesheet Attachment example: false updated_at: type: string title: Updated At format: date-time example: '2025-06-01T14:22:00.000Z' ksef_enabled: type: boolean title: Ksef Enabled example: false xrechnung_enabled: type: boolean title: Xrechnung Enabled example: true created_at: type: string title: Created At format: date-time example: '2025-03-15T10:30:00.000Z' payment_means_type_id: enum: - 1 - 2 type: integer title: Payment Means Type example: 1 include_pdf_attachment: type: boolean title: Include Pdf Attachment example: true example: id: '1234' type: einvoice_configurations attributes: face_enabled: false ksef_enabled: false xrechnung_enabled: false mer_enabled: true mer_username: mer_user@example.com payment_means_type_id: 1 tax_rate_mapping: '1042': tax_category_id: '4' exemption_reason: '' '1043': tax_category_id: '8' exemption_reason: Export outside the EU kpd_code_mapping: '72105': '3806' '72106': '3459' '72110': '55' include_pdf_attachment: true include_timesheet_attachment: false created_at: '2025-03-15T10:30:00.000Z' updated_at: '2025-06-01T14:22:00.000Z' relationships: subsidiary: data: type: subsidiaries id: '42' _filter_root_invoice_template: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_invoice_template" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_invoice_template" description: Filter schema for `invoice_template` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_template: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Boolean connective applied to the grouped sub-filters under this filter root. example: or patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_template" description: Advanced grouped filter — combine sub-filters with `$op` (`and`/`or`). required: - "$op" example: '0': target_type: eq: budget '1': target_type: eq: deal "$op": or - "$ref": "#/components/schemas/filter_template" description: Top-level filter envelope — either an advanced grouped filter with `$op` (`and`/`or`) and numeric sub-filter keys, or the flat filter object. example: target_type: eq: project filter_session: type: object title: Filter session properties: machine: oneOf: - "$ref": "#/components/schemas/resource_session/properties/machine" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_session/properties/machine" not_eq: "$ref": "#/components/schemas/resource_session/properties/machine" eq: "$ref": "#/components/schemas/resource_session/properties/machine" not_contain: "$ref": "#/components/schemas/resource_session/properties/machine" description: Filter using explicit operator syntax. example: eq: value description: Filter to include only machine (non-human) sessions. example: eq: value read_only: oneOf: - "$ref": "#/components/schemas/resource_session/properties/read_only" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_session/properties/read_only" contains: "$ref": "#/components/schemas/resource_session/properties/read_only" not_contain: "$ref": "#/components/schemas/resource_session/properties/read_only" not_eq: "$ref": "#/components/schemas/resource_session/properties/read_only" description: Filter using explicit operator syntax. example: eq: value description: Filter to include only read-only sessions. example: eq: value creator_id: oneOf: - "$ref": "#/components/schemas/resource_session/properties/creator_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_session/properties/creator_id" eq: "$ref": "#/components/schemas/resource_session/properties/creator_id" contains: "$ref": "#/components/schemas/resource_session/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_session/properties/creator_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the person who created the session. example: - 123 patternProperties: {} description: Filter parameters for OAuth sessions. example: id: eq: '123' filter_deleted_item: type: object title: Filter deleted item properties: id: oneOf: - "$ref": "#/components/schemas/resource_deleted_item/properties/id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_deleted_item/properties/id" eq: "$ref": "#/components/schemas/resource_deleted_item/properties/id" contains: "$ref": "#/components/schemas/resource_deleted_item/properties/id" not_contain: "$ref": "#/components/schemas/resource_deleted_item/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by deleted item ID. example: - 123 location: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_deleted_item/properties/location" contains: "$ref": "#/components/schemas/resource_deleted_item/properties/location" not_contain: "$ref": "#/components/schemas/resource_deleted_item/properties/location" not_eq: "$ref": "#/components/schemas/resource_deleted_item/properties/location" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_deleted_item/properties/location" description: Filter by the location path where the item was deleted from. example: eq: value item_type: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_deleted_item/properties/item_type" contains: "$ref": "#/components/schemas/resource_deleted_item/properties/item_type" not_eq: "$ref": "#/components/schemas/resource_deleted_item/properties/item_type" not_contain: "$ref": "#/components/schemas/resource_deleted_item/properties/item_type" description: Filter using explicit operator syntax. example: eq: active - "$ref": "#/components/schemas/resource_deleted_item/properties/item_type" description: Filter by the resource type of the deleted item. example: eq: active deleter_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_deleted_item/properties/deleter_id" eq: "$ref": "#/components/schemas/resource_deleted_item/properties/deleter_id" not_contain: "$ref": "#/components/schemas/resource_deleted_item/properties/deleter_id" contains: "$ref": "#/components/schemas/resource_deleted_item/properties/deleter_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_deleted_item/properties/deleter_id" description: Filter by the person who deleted the item. example: - 123 query: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_deleted_item/properties/query" contains: "$ref": "#/components/schemas/resource_deleted_item/properties/query" not_contain: "$ref": "#/components/schemas/resource_deleted_item/properties/query" not_eq: "$ref": "#/components/schemas/resource_deleted_item/properties/query" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_deleted_item/properties/query" description: Search deleted items by name (text search). example: eq: value created_at: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_deleted_item/properties/created_at" contains: "$ref": "#/components/schemas/resource_deleted_item/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_deleted_item/properties/created_at" eq: "$ref": "#/components/schemas/resource_deleted_item/properties/created_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_deleted_item/properties/created_at" description: Filter by deletion date range (`created_at` on the deleted item record). example: gt: '2026-01-01' name: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_deleted_item/properties/name" contains: "$ref": "#/components/schemas/resource_deleted_item/properties/name" not_eq: "$ref": "#/components/schemas/resource_deleted_item/properties/name" eq: "$ref": "#/components/schemas/resource_deleted_item/properties/name" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_deleted_item/properties/name" description: Filter by the deleted item's name (text search). example: eq: value patternProperties: {} description: Filter parameters for deleted items (trash). example: id: eq: '123' _filter_root_notification: oneOf: - "$ref": "#/components/schemas/filter_notification" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_notification" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `notification` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_user: type: object title: Filter user properties: {} patternProperties: {} description: Filter parameters for listing user resources, which represent login credentials and authentication accounts distinct from person profiles. example: id: eq: '123' resource_webhook_log: type: object title: Webhook log Resource properties: webhook: title: Webhook description: The webhook that generated this log entry. example: eq: value payload: type: string title: Payload description: The JSON payload that was sent to the target URL. example: eq: value status_code: type: integer title: Status Code description: The HTTP response status code returned by the target URL. example: eq: active organization: title: Organization description: The organization this webhook log entry belongs to. example: eq: value retry_attempt: type: integer title: Retry Attempt description: The retry attempt number for this delivery, where 0 is the initial attempt. example: gt: '2026-01-01' id: type: integer title: Id description: The unique identifier of this webhook log entry. example: - 123 target_url: type: string title: Target Url description: The URL to which the webhook payload was delivered. example: eq: value webhook_id: type: integer title: Webhook description: ID of the webhook that generated this log entry. example: - 123 retry_job_id: type: string title: Retry Job description: The background job ID for a scheduled retry of this delivery, or null if no retry is pending. example: - 123 after: type: string title: After format: date description: Filter to return only webhook log entries created after this date. example: eq: value before: type: string title: Before format: date description: Filter to return only webhook log entries created before this date. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when this webhook delivery attempt was made. example: gt: '2026-01-01' description: A webhook log records a single delivery attempt of a webhook event to its target URL, capturing the payload sent, HTTP response code, and retry details. example: id: '123' type: webhook_logs attributes: event_type: task.created status: success response_code: 200 sent_at: '2026-01-15T10:00:00Z' relationships: {} _filter_root_new_salary_report: oneOf: - "$ref": "#/components/schemas/filter_new_salary_report" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_new_salary_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `new_salary_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_placeholder_usage: type: object title: Placeholder usage Resource properties: interval_unit: enum: - day - week - month - year type: string title: Interval Unit description: The unit of the date offset interval (day, week, month, or year). example: eq: value interval_value: type: integer title: Interval Value description: The numeric value of the date offset applied to the target field when using interval mode. example: eq: value todo_id: type: integer title: Todo description: ID of the todo this placeholder usage is linked to, if the target is a todo. example: - 123 updated_at: type: string title: Updated At format: date-time description: Timestamp when this placeholder usage was last updated. example: gt: '2026-01-01' skip_weekends: type: boolean title: Skip Weekends description: When true, weekends are excluded when calculating date offsets for this placeholder. example: eq: value project_id: type: integer title: Project description: ID of the project this placeholder usage is associated with. example: - 123 created_at: type: string title: Created At format: date-time description: Timestamp when this placeholder usage was created. example: gt: '2026-01-01' target_id: type: integer title: Target description: The ID of the target record (task or todo) this placeholder usage applies to. example: - 123 task: title: Task description: The task this placeholder usage is linked to, if the target is a task. example: eq: value task_id: type: integer title: Task description: ID of the task this placeholder usage is linked to, if the target is a task. example: - 123 placeholder_id: type: integer title: Placeholder description: ID of the placeholder associated with this usage. example: - 123 interval_direction: enum: - before - after type: string title: Interval Direction description: The direction of the date offset relative to the reference date, either before or after. example: eq: value interval_enabled: type: boolean title: Interval Enabled description: Whether the date offset interval is enabled for this placeholder usage. example: eq: value id: type: integer title: Id description: The unique identifier of this placeholder usage. example: - 123 field: enum: - assignee - subscriber - due_date - start_date type: string title: Field description: The task or todo field this placeholder is mapped to (e.g. assignee, due_date, start_date). example: eq: value todo: title: Todo description: The todo this placeholder usage is linked to, if the target is a todo. example: eq: value placeholder: title: Placeholder description: The placeholder associated with this usage. example: eq: value target_type: type: string title: Target Type description: The type of the target record this placeholder usage applies to (task or todo). example: eq: active description: A record linking a placeholder to a specific task or todo field, optionally with a date offset interval. example: id: '123' type: placeholder_usages attributes: booked_hours: 40 date: '2026-01-15' placeholder_id: 56 relationships: {} _filter_root_widget: oneOf: - "$ref": "#/components/schemas/filter_widget" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_widget" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `widget` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_placeholder: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_placeholder" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_placeholder" description: Filter schema for `placeholder` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_expense_report: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_expense_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_expense_report" description: Filter schema for `expense_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_subsidiary: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_subsidiary" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_subsidiary" description: Filter schema for `subsidiary` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_resource_request: type: object title: Filter resource request properties: resolved_at: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/resolved_at" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_resource_request/properties/resolved_at" eq: "$ref": "#/components/schemas/resource_resource_request/properties/resolved_at" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/resolved_at" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/resolved_at" description: Filter by resolved_at using specific operators. example: gt: '2026-01-01' description: Filter by resolved_at date range. example: gt: '2026-01-01' resolver_id: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/resolver_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/resolver_id" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/resolver_id" eq: "$ref": "#/components/schemas/resource_resource_request/properties/resolver_id" contains: "$ref": "#/components/schemas/resource_resource_request/properties/resolver_id" description: Filter by resolver_id using specific operators. example: - 123 description: Filter by the ID of the person who resolved the resource request. example: - 123 creator_id: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/creator_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_resource_request/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/creator_id" eq: "$ref": "#/components/schemas/resource_resource_request/properties/creator_id" description: Filter by creator_id using specific operators. example: - 123 description: Filter by the ID of the person who created the resource request. example: - 123 ended_on: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/ended_on" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_resource_request/properties/ended_on" contains: "$ref": "#/components/schemas/resource_resource_request/properties/ended_on" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/ended_on" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/ended_on" description: Filter by ended_on using specific operators. example: eq: value description: Filter by end date range. example: eq: value status: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/status" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_resource_request/properties/status" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/status" contains: "$ref": "#/components/schemas/resource_resource_request/properties/status" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/status" description: Filter by status using specific operators. example: eq: active description: Filter by the status of the resource request. example: eq: active team_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_resource_request/properties/team_id" eq: "$ref": "#/components/schemas/resource_resource_request/properties/team_id" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/team_id" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/team_id" description: Filter by team_id using specific operators. example: - 123 - "$ref": "#/components/schemas/resource_resource_request/properties/team_id" description: Filter by team IDs stored in the resource request fields. example: - 123 time_to_close: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" contains: "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" eq: "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" description: Filter by time_to_close using specific operators. example: gt: 0 - "$ref": "#/components/schemas/resource_resource_request/properties/time_to_close" description: Filter by the time to close in minutes from creation to resolution. example: gt: 0 time: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/time" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/time" eq: "$ref": "#/components/schemas/resource_resource_request/properties/time" contains: "$ref": "#/components/schemas/resource_resource_request/properties/time" description: Filter by time using specific operators. example: gt: 0 - "$ref": "#/components/schemas/resource_resource_request/properties/time" description: Filter by the requested time in minutes per day of the resource request. example: gt: 0 tags: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/tags" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_resource_request/properties/tags" contains: "$ref": "#/components/schemas/resource_resource_request/properties/tags" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/tags" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/tags" description: Filter by tags using specific operators. example: eq: value description: Filter by tag values stored in the resource request fields. example: eq: value subsidiary_id: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/subsidiary_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_resource_request/properties/subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_resource_request/properties/subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/subsidiary_id" description: Filter by subsidiary_id using specific operators. example: - 123 description: Filter by subsidiary ID stored in the resource request fields. example: - 123 created_at: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/created_at" eq: "$ref": "#/components/schemas/resource_resource_request/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/created_at" contains: "$ref": "#/components/schemas/resource_resource_request/properties/created_at" description: Filter by created_at using specific operators. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_resource_request/properties/created_at" description: Filter by created_at date range. example: gt: '2026-01-01' service_id: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/service_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_resource_request/properties/service_id" eq: "$ref": "#/components/schemas/resource_resource_request/properties/service_id" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/service_id" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/service_id" description: Filter by service_id using specific operators. example: - 123 description: Filter by the ID of the service (billing point) the resource request belongs to. example: - 123 query: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/query" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/query" eq: "$ref": "#/components/schemas/resource_resource_request/properties/query" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/query" contains: "$ref": "#/components/schemas/resource_resource_request/properties/query" description: Filter by query using specific operators. example: eq: value description: Full-text search filter across resource request titles. example: eq: value title: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/title" eq: "$ref": "#/components/schemas/resource_resource_request/properties/title" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/title" contains: "$ref": "#/components/schemas/resource_resource_request/properties/title" description: Filter by title using specific operators. example: eq: value - "$ref": "#/components/schemas/resource_resource_request/properties/title" description: Filter by the title of the resource request. example: eq: value service_type_id: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/service_type_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/service_type_id" contains: "$ref": "#/components/schemas/resource_resource_request/properties/service_type_id" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/service_type_id" eq: "$ref": "#/components/schemas/resource_resource_request/properties/service_type_id" description: Filter by service_type_id using specific operators. example: - 123 description: Filter by service type IDs stored in the resource request fields. example: - 123 custom_fields: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_resource_request/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_resource_request/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/custom_fields" description: Filter by custom_fields using specific operators. example: eq: value - "$ref": "#/components/schemas/resource_resource_request/properties/custom_fields" description: Filter by custom field values on the resource request. example: eq: value workplace_id: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/workplace_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_resource_request/properties/workplace_id" eq: "$ref": "#/components/schemas/resource_resource_request/properties/workplace_id" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/workplace_id" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/workplace_id" description: Filter by workplace_id using specific operators. example: - 123 description: Filter by workplace ID stored in the resource request fields. example: - 123 id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/id" contains: "$ref": "#/components/schemas/resource_resource_request/properties/id" eq: "$ref": "#/components/schemas/resource_resource_request/properties/id" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/id" description: Filter by id using specific operators. example: - 123 - "$ref": "#/components/schemas/resource_resource_request/properties/id" description: Filter by resource request ID. example: - 123 job_title: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/job_title" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" contains: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" eq: "$ref": "#/components/schemas/resource_resource_request/properties/job_title" description: Filter by job_title using specific operators. example: eq: value description: Filter by the requested job title stored in the resource request fields. example: eq: value started_on: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/started_on" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/started_on" eq: "$ref": "#/components/schemas/resource_resource_request/properties/started_on" contains: "$ref": "#/components/schemas/resource_resource_request/properties/started_on" description: Filter by started_on using specific operators. example: eq: value - "$ref": "#/components/schemas/resource_resource_request/properties/started_on" description: Filter by start date range. example: eq: value deleted_at: oneOf: - "$ref": "#/components/schemas/resource_resource_request/properties/deleted_at" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_resource_request/properties/deleted_at" not_contain: "$ref": "#/components/schemas/resource_resource_request/properties/deleted_at" contains: "$ref": "#/components/schemas/resource_resource_request/properties/deleted_at" not_eq: "$ref": "#/components/schemas/resource_resource_request/properties/deleted_at" description: Filter by deleted_at using specific operators. example: gt: '2026-01-01' description: Filter by deleted_at date range. example: gt: '2026-01-01' patternProperties: "^creator..*$": title: Creator relationship "^service..*$": title: Service relationship "^resolver..*$": title: Resolver relationship description: Filter parameters for listing resource requests. example: id: eq: '123' filter_task_dependency: type: object title: Filter task dependency properties: type_id: oneOf: - "$ref": "#/components/schemas/resource_task_dependency/properties/type_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_dependency/properties/type_id" eq: "$ref": "#/components/schemas/resource_task_dependency/properties/type_id" contains: "$ref": "#/components/schemas/resource_task_dependency/properties/type_id" not_contain: "$ref": "#/components/schemas/resource_task_dependency/properties/type_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by dependency type (blocking, waiting_on, or linked). example: - 123 id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_dependency/properties/id" contains: "$ref": "#/components/schemas/resource_task_dependency/properties/id" not_eq: "$ref": "#/components/schemas/resource_task_dependency/properties/id" not_contain: "$ref": "#/components/schemas/resource_task_dependency/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_task_dependency/properties/id" description: Filter by dependency ID. example: - 123 creator_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_dependency/properties/creator_id" contains: "$ref": "#/components/schemas/resource_task_dependency/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_task_dependency/properties/creator_id" eq: "$ref": "#/components/schemas/resource_task_dependency/properties/creator_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_task_dependency/properties/creator_id" description: Filter by the person who created the dependency. example: - 123 created_at: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_dependency/properties/created_at" contains: "$ref": "#/components/schemas/resource_task_dependency/properties/created_at" eq: "$ref": "#/components/schemas/resource_task_dependency/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_task_dependency/properties/created_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task_dependency/properties/created_at" description: Filter by creation date range (created_at). example: gt: '2026-01-01' project_id: oneOf: - "$ref": "#/components/schemas/resource_task_dependency/properties/project_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_dependency/properties/project_id" contains: "$ref": "#/components/schemas/resource_task_dependency/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_task_dependency/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_task_dependency/properties/project_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by project ID (via the associated task). example: - 123 dependent_task_id: oneOf: - "$ref": "#/components/schemas/resource_task_dependency/properties/dependent_task_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_task_dependency/properties/dependent_task_id" not_eq: "$ref": "#/components/schemas/resource_task_dependency/properties/dependent_task_id" eq: "$ref": "#/components/schemas/resource_task_dependency/properties/dependent_task_id" not_contain: "$ref": "#/components/schemas/resource_task_dependency/properties/dependent_task_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the dependent task ID (the task that depends on another). example: - 123 updater_id: oneOf: - "$ref": "#/components/schemas/resource_task_dependency/properties/updater_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_task_dependency/properties/updater_id" not_eq: "$ref": "#/components/schemas/resource_task_dependency/properties/updater_id" contains: "$ref": "#/components/schemas/resource_task_dependency/properties/updater_id" eq: "$ref": "#/components/schemas/resource_task_dependency/properties/updater_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the person who last updated the dependency. example: - 123 updated_at: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_dependency/properties/updated_at" not_contain: "$ref": "#/components/schemas/resource_task_dependency/properties/updated_at" not_eq: "$ref": "#/components/schemas/resource_task_dependency/properties/updated_at" contains: "$ref": "#/components/schemas/resource_task_dependency/properties/updated_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_task_dependency/properties/updated_at" description: Filter by last update date range (updated_at). example: gt: '2026-01-01' deleted_at: oneOf: - "$ref": "#/components/schemas/resource_task_dependency/properties/deleted_at" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_task_dependency/properties/deleted_at" not_contain: "$ref": "#/components/schemas/resource_task_dependency/properties/deleted_at" eq: "$ref": "#/components/schemas/resource_task_dependency/properties/deleted_at" contains: "$ref": "#/components/schemas/resource_task_dependency/properties/deleted_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' description: Filter by deletion date range (deleted_at); use to find soft-deleted dependencies. example: gt: '2026-01-01' task_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_task_dependency/properties/task_id" not_eq: "$ref": "#/components/schemas/resource_task_dependency/properties/task_id" not_contain: "$ref": "#/components/schemas/resource_task_dependency/properties/task_id" contains: "$ref": "#/components/schemas/resource_task_dependency/properties/task_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_task_dependency/properties/task_id" description: Filter by the source task ID in the dependency relationship. example: - 123 patternProperties: {} description: Filter parameters for listing task dependencies. Supports filtering by task, dependent task, and dependency type (blocking, waiting_on, linked). Standard ID operators apply. example: id: eq: '123' resource_tag: type: object title: Tag Resource properties: taggable_type: type: string title: Taggable Type description: The type of resource this tag is applied to (e.g. Company, Deal, Invoice, Person, Project, Task). example: eq: active task_id: type: integer title: Task description: ID of the task this tag is applied to, if tagged to a task. example: - 123 color_id: type: integer title: Color description: ID of the color used to visually distinguish this tag. example: - 123 project_id: type: integer title: Project description: ID of the project this tag is applied to, if tagged to a project. example: - 123 deal_id: type: integer title: Deal description: ID of the deal this tag is applied to, if tagged to a deal. example: - 123 invoice_id: type: integer title: Invoice description: ID of the invoice this tag is applied to, if tagged to an invoice. example: - 123 name: type: string title: Name description: The name of this tag. example: eq: value person_id: type: integer title: Person description: ID of the person this tag is applied to, if tagged to a person. example: - 123 company_id: type: integer title: Company description: ID of the company this tag is applied to, if tagged to a company. example: - 123 description: A label that can be applied to companies, deals, invoices, people, projects, or tasks for categorization and filtering. example: id: '121711' type: tags attributes: name: backend color_id: '3' resource_page_version: type: object title: Page version Resource properties: person: title: Person description: The person who saved this version. example: eq: value title_snapshot: type: string title: Title Snapshot description: A snapshot of the page title at the time this version was saved. example: eq: value page: title: Page description: The page this version belongs to. example: eq: value body_snapshot: title: Body Snapshot description: A snapshot of the page body in ProseMirror JSON format at the time this version was saved. example: eq: value organization: title: Organization description: The organization this page version belongs to. example: eq: value prosemirror_steps: type: object title: Prosemirror Steps description: The ordered list of ProseMirror operations that transform the previous version into this one. example: eq: value person_id: type: integer title: Person description: ID of the person who saved this version. example: - 123 page_id: type: integer title: Page description: ID of the page this version belongs to. example: - 123 created_at: type: string title: Created At format: date-time description: Timestamp when this page version was created. example: gt: '2026-01-01' updated_at: type: string title: Updated At format: date-time description: Timestamp when this page version was last updated. example: gt: '2026-01-01' id: type: integer title: Id description: The unique identifier of this page version. example: - 123 name: type: string title: Name description: An optional user-defined name for this version (e.g. a milestone label). example: eq: value restored_from_version_id: type: integer title: Restored From Version description: The restored from version id. example: - 123 description: A historical snapshot of a page's content created whenever the page is saved. example: id: '45' type: page_versions attributes: version_number: 3 created_at: '2026-03-10T15:00:00.000+00:00' relationships: page: data: type: pages id: '78' author: data: type: people id: '12' filter_workflow_status: type: object title: Filter workflow status properties: category_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" not_contain: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" eq: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" not_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_workflow_status/properties/category_id" description: Filter by workflow status category (Not Started, Started, or Closed). example: - 123 id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_workflow_status/properties/id" contains: "$ref": "#/components/schemas/resource_workflow_status/properties/id" not_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/id" not_contain: "$ref": "#/components/schemas/resource_workflow_status/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_workflow_status/properties/id" description: Filter by workflow status ID. example: - 123 name: oneOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/name" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/name" not_contain: "$ref": "#/components/schemas/resource_workflow_status/properties/name" eq: "$ref": "#/components/schemas/resource_workflow_status/properties/name" contains: "$ref": "#/components/schemas/resource_workflow_status/properties/name" description: Filter using explicit operator syntax. example: eq: value description: Filter by exact workflow status name. example: eq: value project_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_workflow_status/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/project_id" - "$ref": "#/components/schemas/resource_workflow_status/properties/project_id" workflow_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" not_contain: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" contains: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" eq: "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_workflow_status/properties/workflow_id" description: Filter by the associated workflow. example: - 123 query: oneOf: - "$ref": "#/components/schemas/resource_workflow_status/properties/query" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_workflow_status/properties/query" not_eq: "$ref": "#/components/schemas/resource_workflow_status/properties/query" contains: "$ref": "#/components/schemas/resource_workflow_status/properties/query" eq: "$ref": "#/components/schemas/resource_workflow_status/properties/query" description: Filter using explicit operator syntax. example: eq: value description: Filter by workflow status name using a partial text search. example: eq: value patternProperties: {} description: Filter parameters for listing workflow statuses. Supports filtering by workflow, category (not_started, started, closed), and position. Standard ID operators apply. example: workflow_id: - 75 filter_approval_policy: type: object title: Filter approval policy properties: status: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_approval_policy/properties/status" not_eq: "$ref": "#/components/schemas/resource_approval_policy/properties/status" eq: "$ref": "#/components/schemas/resource_approval_policy/properties/status" contains: "$ref": "#/components/schemas/resource_approval_policy/properties/status" description: Filter using explicit operator syntax. example: eq: active - "$ref": "#/components/schemas/resource_approval_policy/properties/status" description: Filter by active/archived status. example: eq: active type_id: oneOf: - "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" contains: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" eq: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" not_eq: "$ref": "#/components/schemas/resource_approval_policy/properties/type_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by approval policy type ID. example: - 123 custom: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_approval_policy/properties/custom" not_contain: "$ref": "#/components/schemas/resource_approval_policy/properties/custom" contains: "$ref": "#/components/schemas/resource_approval_policy/properties/custom" eq: "$ref": "#/components/schemas/resource_approval_policy/properties/custom" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_approval_policy/properties/custom" description: Filter by whether the approval policy is custom (true) or system-defined (false). example: eq: value patternProperties: {} description: Filter parameters for listing approval policies. Supports filtering by policy type, service, and person. Standard ID operators apply. example: id: eq: '123' filter_timer: type: object title: Filter timer properties: started_at: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_timer/properties/started_at" not_eq: "$ref": "#/components/schemas/resource_timer/properties/started_at" not_contain: "$ref": "#/components/schemas/resource_timer/properties/started_at" eq: "$ref": "#/components/schemas/resource_timer/properties/started_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_timer/properties/started_at" description: Filter by the date the timer was started. example: gt: '2026-01-01' time_entry_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_timer/properties/time_entry_id" not_eq: "$ref": "#/components/schemas/resource_timer/properties/time_entry_id" contains: "$ref": "#/components/schemas/resource_timer/properties/time_entry_id" not_contain: "$ref": "#/components/schemas/resource_timer/properties/time_entry_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_timer/properties/time_entry_id" description: Filter by the associated time entry. example: - 123 stopped_at: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_timer/properties/stopped_at" eq: "$ref": "#/components/schemas/resource_timer/properties/stopped_at" contains: "$ref": "#/components/schemas/resource_timer/properties/stopped_at" not_eq: "$ref": "#/components/schemas/resource_timer/properties/stopped_at" description: Filter using explicit operator syntax. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_timer/properties/stopped_at" description: Filter by the date the timer was stopped. example: gt: '2026-01-01' person_id: oneOf: - "$ref": "#/components/schemas/resource_timer/properties/person_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_timer/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_timer/properties/person_id" contains: "$ref": "#/components/schemas/resource_timer/properties/person_id" eq: "$ref": "#/components/schemas/resource_timer/properties/person_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated person. example: - 123 patternProperties: {} description: Filter parameters for listing timer resources, which represent live running timers for active time tracking. example: id: eq: '123' resource_tax_rate: type: object title: Tax rate Resource properties: secondary_component_name: type: string title: Secondary Component Name description: The label for the optional secondary tax component (e.g. PST in Canada). example: PST subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this tax rate is associated with. example: 234 organization: title: Organization description: The organization this tax rate belongs to. example: data: type: organizations id: '109' id: type: integer title: Id description: The unique identifier of this tax rate. example: 456789 name: type: string title: Name description: The display name of this tax rate. example: HST 13% secondary_component_value: type: number title: Secondary Component Value description: The percentage value of the optional secondary tax component. example: 8 status: enum: - 1 - 2 type: integer title: Status description: The status of this tax rate, used for filtering (active or archived). example: 1 archived_at: type: string title: Archived At format: date-time description: Timestamp when this tax rate was archived, or null if active. example: primary_component_value: type: number title: Primary Component Value description: The percentage value of the primary tax component. example: 5 subsidiary: title: Subsidiary description: The subsidiary this tax rate is associated with. example: data: type: subsidiaries id: '234' primary_component_name: type: string title: Primary Component Name description: The label for the primary tax component (e.g. VAT or GST). example: GST subsidiary_name: title: Subsidiary Name description: The name of the subsidiary this tax rate is associated with. example: Acme Corp Canada description: A tax rate with optional primary and secondary components, associated with a subsidiary and applied to invoices and line items. example: type: tax_rates id: '456789' attributes: name: HST 13% primary_component_name: GST primary_component_value: 5 secondary_component_name: PST secondary_component_value: 8 archived_at: relationships: organization: data: type: organizations id: '109' subsidiary: data: type: subsidiaries id: '234' resource_person_report: type: object title: Person report Resource properties: service_type_id: type: integer title: Service Type description: ID of a service type this person is assigned to. example: - 123 type: title: Type description: The resource type identifier for this report row. example: eq: active two_factor_auth: type: boolean title: Two Factor Auth description: Whether two-factor authentication is enabled for this person. example: eq: value fuzzy_people: type: string title: Fuzzy People description: Fuzzy-matched person name tokens for search. example: eq: value id: type: integer title: Id description: The unique identifier of this person report row. example: - 123 last_activity_at_period: title: Last Activity At Period description: Time period grouping for last activity date (e.g. week, month, quarter). example: gt: '2026-01-01' person: title: Person description: The linked person record for this report row. example: eq: value currency_default: title: Currency Default description: Whether this row uses the organization's default currency. example: eq: value person_first_name: title: Person First Name description: The person's first name (denormalized copy for reporting). example: eq: value person_custom_fields: title: Person Custom Fields description: Custom field values for the person (denormalized copy for reporting). example: eq: value timesheet_submission_disabled: type: boolean title: Timesheet Submission Disabled description: Whether timesheet submission is disabled for this person. example: gt: 0 month: type: string title: Month description: The calendar month of the reporting period. example: eq: value deactivated_at_period: title: Deactivated At Period description: The time period bucket for deactivation date, used when grouping by deactivated_at. example: gt: '2026-01-01' joined_at_period: title: Joined At Period description: The time period bucket for join date, used when grouping by joined_at. example: gt: '2026-01-01' offboarding_status: enum: - not_initiated - in_progress - failed - completed type: string title: Offboarding Status description: The person's offboarding status. example: eq: active contact_address: title: Contact Address description: The person's contact street address. example: eq: value hrm_type_id: enum: - 1 - 2 type: integer title: Hrm Type description: ID of the HRM type/employment category for this person. example: - 123 approval_policy_id: type: integer title: Approval Policy description: ID of the approval policy assigned to this person. example: - 123 approval_workflow_id: type: integer title: Approval Workflow description: ID of the approval workflow configuration for this person. example: - 123 created_at_period: title: Created At Period description: The time period bucket for account creation date, used when grouping by created_at. example: gt: '2026-01-01' contact_country: title: Contact Country description: The person's contact country. example: gt: 0 accessible_doc_id: type: integer title: Accessible Doc description: ID of a doc the person has access to. example: - 123 jump_query: type: string title: Jump Query description: Quick-navigation query token for this person. example: eq: value last_activity_at: type: string title: Last Activity At format: date description: Timestamp of the most recent activity on this person. example: gt: '2026-01-01' holiday_calendar_id: type: integer title: Holiday Calendar description: ID of the holiday calendar assigned to this person. example: - 123 custom_role_id: type: integer title: Custom Role description: ID of the custom role assigned to this person. example: - 123 project_id: type: integer title: Project description: ID of a project the person is associated with. example: - 123 manager: title: Manager description: The person's direct manager. example: eq: value person_joined_at: title: Person Joined At description: The date the person joined (denormalized copy for reporting). example: gt: '2026-01-01' time_tracking_policy_id: type: integer title: Time Tracking Policy description: ID of the time tracking policy assigned to this person. example: - 123 accessible_filter_id: type: string title: Accessible Filter description: ID of a saved filter the person has access to. example: - 123 virtual: type: boolean title: Virtual description: Whether this person is a virtual/placeholder person. example: eq: value count: type: integer title: Count description: The count of person records in this report row. example: gt: 0 person_last_name: title: Person Last Name description: The person's last name (denormalized copy for reporting). example: eq: value person_created_at: title: Person Created At description: Timestamp when the person was created (denormalized copy for reporting). example: gt: '2026-01-01' bookings_after: type: string title: Bookings After format: date description: The booking/scheduling window start date for this person. example: eq: value week: type: string title: Week description: The calendar week of the reporting period. example: eq: value tags: type: string title: Tags description: Tags assigned to the person. example: eq: value contact_state: title: Contact State description: The person's contact state or region. example: eq: active archived_at: type: string title: Archived At format: date description: Timestamp when the person was archived. example: gt: '2026-01-01' schedulable: type: boolean title: Schedulable description: Whether this person can be scheduled on bookings. example: eq: value person_status: title: Person Status description: The person's active/inactive status (denormalized copy for reporting). example: eq: active person_email: title: Person Email description: The person's email address (denormalized copy for reporting). example: eq: value query: type: string title: Query description: The full-text search query for this report row. example: eq: value report: title: Report description: Aggregated report metrics for this person. example: eq: value service_id: type: integer title: Service description: ID of a service this person is assigned to. example: - 123 person_deactivated_at: title: Person Deactivated At description: Timestamp when the person was deactivated (denormalized copy for reporting). example: gt: '2026-01-01' subscribable_type: type: string title: Subscribable Type description: Type of the resource this person is subscribed to. example: eq: active contact_zipcode: title: Contact Zipcode description: The person's contact zip/postal code. example: eq: value custom_fields: type: string title: Custom Fields description: Custom field values attached to this person. example: eq: value company: title: Company description: The client company this person is associated with. example: eq: value manager_report: title: Manager Report description: Aggregated report data for this person's manager. example: eq: value quarter: type: string title: Quarter description: The calendar quarter of the reporting period. example: eq: value project_watching: type: integer title: Project Watching description: Projects the person is watching. example: eq: value company_report: title: Company Report description: Aggregated report data for the client company this person belongs to. example: eq: value person_active_teams: title: Person Active Teams description: The teams this person is currently active in. example: eq: value deactivated_at: type: string title: Deactivated At format: date description: Timestamp when the person was deactivated. example: gt: '2026-01-01' eligible_replacement_managers: type: integer title: Eligible Replacement Managers description: People who can substitute as manager for this person during absence. example: eq: value contact_city: title: Contact City description: The person's contact city. example: eq: value contact_email: title: Contact Email description: The person's contact email address. example: eq: value fuzzy_dates: type: string title: Fuzzy Dates description: Fuzzy-matched date tokens for this person. example: gt: '2026-01-01' subsidiary: title: Subsidiary description: The subsidiary this person belongs to. example: eq: value custom_role: title: Custom Role description: The custom role assigned to this person. example: eq: value accessible_deal_id: type: integer title: Accessible Deal description: ID of a deal the person has access to. example: - 123 created_at: type: string title: Created At format: date description: Timestamp when the person's account was created. example: gt: '2026-01-01' manager_id: type: integer title: Manager description: ID of the person's direct manager. example: - 123 permissions: type: string title: Permissions description: The person's permission level in the organization. example: eq: value first_name: type: string title: First Name description: The person's first name. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: The person's active/inactive status. example: eq: active person_last_seen_at: title: Person Last Seen At description: Timestamp of person's last platform access (denormalized copy for reporting). example: gt: '2026-01-01' full_query: type: string title: Full Query description: Full-text search index content for this person. example: eq: value last_name: type: string title: Last Name description: The person's last name. example: eq: value person_role_id: title: Person Role description: ID of the person's assigned role (denormalized copy for reporting). example: - 123 subscribable_id: type: integer title: Subscribable description: ID of the resource this person is subscribed to. example: - 123 role_id: type: integer title: Role description: ID of the role assigned to this person. example: - 123 autotracking: type: integer title: Autotracking description: Whether automatic time tracking is enabled for this person. example: eq: value currency: title: Currency description: The currency used for monetary values in this report row. example: eq: value person_last_activity_at: title: Person Last Activity At description: Timestamp of the most recent activity on the person associated with this report row. example: gt: '2026-01-01' organization: title: Organization description: The organization this person belongs to. example: eq: value contact_phone: title: Contact Phone description: The person's contact phone number. example: eq: value year: type: string title: Year description: The calendar year of the reporting period. example: eq: value last_seen_at: type: string title: Last Seen At format: date description: Timestamp when the person last accessed the platform. example: gt: '2026-01-01' team: type: integer title: Team description: The team this person belongs to. example: eq: value group: type: string title: Group description: The dimension/grouping used when this report row is aggregated. example: eq: value email: type: string title: Email description: The person's login email address. example: eq: value formula_fields: title: Formula Fields description: Computed/formula field values for this person. example: eq: value approval_policy: title: Approval Policy description: The approval policy assigned to this person for time or absence approvals. example: eq: value accessible_project_id: type: integer title: Accessible Project description: ID of a project the person has access to. example: - 123 person_name: title: Person Name description: The person's full name. example: eq: value person_type: type: string title: Person Type description: The person's type — employee, contractor, client contact, or placeholder. example: eq: active title: type: string title: Title description: The person's job title. example: eq: value currency_normalized: title: Currency Normalized description: Whether monetary values in this row are normalized to the base currency. example: eq: value contact_website: title: Contact Website description: The person's contact website URL. example: eq: value bookings_before: type: string title: Bookings Before format: date description: The booking/scheduling window end date for this person. example: eq: value person_title: title: Person Title description: The person's job title (denormalized copy for reporting). example: eq: value joined_at: type: string title: Joined At format: date description: The date the person officially joined the organization. example: gt: '2026-01-01' company_id: type: integer title: Company description: ID of the client company this person belongs to. example: - 123 subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this person belongs to. example: - 123 agent: type: boolean title: Agent description: The AI agent account linked to this person in the report, if this person represents an AI agent. example: eq: value description: An aggregated person report row grouping people by configurable dimensions with utilization, capacity, and cost metrics. example: id: '123' type: person_reports attributes: billable_time: 14400 nonbillable_time: 1800 utilization_rate: 0.85 person_id: 12 relationships: {} resource_einvoice_transaction: type: object title: E-invoice Transaction Resource properties: sender_routing_id: type: string title: Sender Routing Id example: '0088:9876543210123' fiscalization_failed_at: type: string title: Fiscalization Failed At format: date-time example: receiver_routing_id: type: string title: Receiver Routing Id example: '0088:1234567890123' invoice: title: Invoice example: data: type: invoices id: '3456' format_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 type: integer title: Format example: 1 tax_cleared_at: type: string title: Tax Cleared At format: date-time example: updated_at: type: string title: Updated At format: date-time example: '2025-06-01T14:22:00.000Z' invoice_id: type: integer title: Invoice example: '3456' failed_reason: type: string title: Failed Reason example: delivered_at: type: string title: Delivered At format: date-time example: '2025-05-20T12:00:00.000Z' fiscalization_failed_reason: type: string title: Fiscalization Failed Reason example: sender: title: Sender example: data: type: people id: '78' created_at: type: string title: Created At format: date-time example: '2025-03-15T10:30:00.000Z' failed_at: type: string title: Failed At format: date-time example: example: id: '9012' type: einvoice_transactions attributes: format_id: 1 sender_routing_id: '0088:9876543210123' receiver_routing_id: '0088:1234567890123' delivered_at: '2025-05-20T12:00:00.000Z' failed_at: failed_reason: tax_cleared_at: fiscalization_failed_at: fiscalization_failed_reason: created_at: '2025-05-20T11:55:00.000Z' updated_at: '2025-05-20T12:00:00.000Z' relationships: invoice: data: type: invoices id: '3456' sender: data: type: people id: '78' _filter_root_proposal_report: oneOf: - "$ref": "#/components/schemas/filter_proposal_report" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining multiple filter conditions (e.g. `AND`, `OR`). example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_proposal_report" description: A single filter condition object for proposal report queries, using named operators. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter parameters for listing proposal report entries. example: id: eq: '123' resource_project: type: object title: Project Resource properties: tag_colors: type: string title: Tag Colors description: Color mappings for project tags, keyed by tag name. example: eq: value profit: type: integer title: Profit description: Total profit across all open budgets for this project, in the organization's base currency. example: eq: value company_name: title: Company Name description: Name of the client company associated with this project. example: eq: value project_color: type: integer title: Project Color description: Display color label for the project. example: eq: value number: type: string title: Number description: Auto-generated unique project number. example: eq: value task_custom_fields_ids: type: object title: Task Custom Fields Ids description: Ordered list of custom field IDs enabled for tasks in this project. example: - 123 - 456 created_at: type: string title: Created At format: date-time description: Timestamp when this project was created. example: gt: '2026-01-01' custom_field_attachments: title: Custom Field Attachments description: File attachments referenced by custom field values on this project. example: gt: '2026-01-01' fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy date range filter for project start/end dates. example: gt: '2026-01-01' public_access: type: boolean title: Public Access description: Deprecated. No-op — has no effect. example: eq: value profit_margin: type: integer title: Profit Margin description: Profit margin percentage across all open budgets for this project. example: eq: value fuzzy_people: type: integer title: Fuzzy People description: Fuzzy person filter — matches projects by associated people. example: eq: value revenue: type: integer title: Revenue description: Total revenue across all open budgets for this project, in the organization's base currency. example: eq: value person_id: type: integer title: Person description: ID of a person who is a member of this project. example: - 123 cost: type: integer title: Cost description: Total cost across all open budgets for this project, in the organization's base currency. example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Human-readable project type label. example: eq: active project_id: type: integer title: Project description: Alias for the project ID field. example: - 123 custom_fields: type: object title: Custom Fields description: Custom field values for this project, keyed by custom field ID. example: eq: value project_manager: title: Project Manager description: The project manager responsible for this project. example: eq: value id: type: integer title: Id description: Unique project ID. example: - 123 workflow_id: type: integer title: Workflow description: ID of the task workflow used in this project. example: - 123 estimated_time: type: integer title: Estimated Time description: Total estimated time across all open budgets for this project, in minutes. example: gt: 0 parent_company_id: type: integer title: Parent Company description: ID of the parent company of the client linked to this project, used for hierarchical company filtering. example: - 123 company: title: Company description: The client company linked to this project. example: eq: value company_id: type: integer title: Company description: ID of the client company associated with this project. example: - 123 sample_data: type: boolean title: Sample Data description: Whether this project was created with sample/demo data. example: eq: value name: type: string title: Name description: Project name. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: Project status. 1 = active, 2 = archived. example: eq: active organization: title: Organization description: The organization this project belongs to. example: eq: value for_tracking: type: boolean title: For Tracking description: Whether this project is eligible for time tracking (i.e. active). example: eq: value archived_at: type: string title: Archived At format: date-time description: Archived at date example: gt: '2026-01-01' project_number: type: string title: Project Number description: Formatted project number string (e.g. ACME-001). example: eq: value with_templates: type: boolean title: With Templates description: When true, includes project templates in the results (templates are excluded by default). example: eq: value template: type: string title: Template description: Whether this project is a template. example: eq: value workflow: title: Workflow description: The task workflow used in this project. example: eq: value project_manager_id: type: integer title: Project Manager description: ID of the project manager (responsible person). example: - 123 worked_time: type: integer title: Worked Time description: Total worked time across all open budgets for this project, in minutes. example: gt: 0 last_actor: title: Last Actor description: The person who last performed an activity on this project. example: eq: value template_object: title: Template Object description: The template this project was created from, if any. example: eq: value jump_query: type: string title: Jump Query description: Quick-jump search query for project navigation. example: eq: value page_custom_fields_ids: type: object title: Page Custom Fields Ids description: Ordered list of custom field IDs enabled for pages in this project. example: - 123 - 456 page_custom_fields_positions: type: object title: Page Custom Fields Positions description: Display position order for page custom fields in this project. example: eq: value project_type_id: enum: - 1 - 2 type: integer title: Project Type description: Whether this project is billable client work (1) or internal overhead (2). example: - 123 project_color_id: type: integer title: Project Color description: Display color ID for the project. example: - 123 query: type: string title: Query description: Full-text search query across project fields. example: eq: value last_activity_at: type: string title: Last Activity At format: date-time description: Timestamp of the most recent activity on this project. example: gt: '2026-01-01' total_worked_time: type: integer title: Total Worked Time description: Total worked time across all budgets (including closed) for this project, in minutes. example: gt: 0 preferences: type: object title: Preferences description: Project-level display and behavior preferences. example: eq: value responsible_id: type: integer title: Responsible description: ID of the responsible person (project manager) for this project. example: - 123 pending_invoicing: type: integer title: Pending Invoicing description: Total amount pending invoicing across all open budgets for this project, in the organization's base currency. example: eq: value duplication_status: enum: - idle - in_progress - failed type: string title: Duplication Status description: 'Background duplication status when copying from a template. One of: idle, in_progress, done, failed.' example: eq: active custom_field_people: title: Custom Field People description: People referenced by person-type custom field values on this project. example: eq: value budget_id: type: integer title: Budget description: ID of a budget linked to this project. example: - 123 task_custom_fields_positions: type: object title: Task Custom Fields Positions description: Display position order for task custom fields in this project. example: eq: value full_query: type: string title: Full Query description: Full-text search query across all project content fields. example: eq: value description: A workspace for tasks, documents, surveys, and budgets. Projects can be billable (client work) or internal (overhead), and provide the organizational structure for team collaboration. example: id: '6899' type: projects attributes: name: Website Redesign number: '12' project_number: '12' project_color_id: 1 preferences: {} last_activity_at: '2026-03-15T10:30:00.000+00:00' archived_at: created_at: '2026-01-01T09:00:00.000+00:00' template: false description: custom_fields: tag_colors: {} relationships: company: data: type: companies id: '65111' project_manager: data: type: people id: '12' workflow: data: type: workflows id: '75' _filter_root_einvoice_transaction: oneOf: - "$ref": "#/components/schemas/filter_einvoice_transaction" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_einvoice_transaction" required: - "$op" example: '0': subsidiary_id: '42' "$op": and example: invoice_id: '3456' filter_service: type: object title: Filter service properties: probability: oneOf: - "$ref": "#/components/schemas/resource_service/properties/probability" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/probability" eq: "$ref": "#/components/schemas/resource_service/properties/probability" contains: "$ref": "#/components/schemas/resource_service/properties/probability" not_contain: "$ref": "#/components/schemas/resource_service/properties/probability" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by the associated deal's probability of closing (as a percentage). example: eq: value expense_cost: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/expense_cost" contains: "$ref": "#/components/schemas/resource_service/properties/expense_cost" eq: "$ref": "#/components/schemas/resource_service/properties/expense_cost" not_eq: "$ref": "#/components/schemas/resource_service/properties/expense_cost" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_service/properties/expense_cost" description: Filter by total expense cost range. example: eq: value contract_id: oneOf: - "$ref": "#/components/schemas/resource_service/properties/contract_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/contract_id" eq: "$ref": "#/components/schemas/resource_service/properties/contract_id" contains: "$ref": "#/components/schemas/resource_service/properties/contract_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/contract_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the associated contract ID. example: - 123 for_tracking: oneOf: - "$ref": "#/components/schemas/resource_service/properties/for_tracking" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/for_tracking" eq: "$ref": "#/components/schemas/resource_service/properties/for_tracking" not_contain: "$ref": "#/components/schemas/resource_service/properties/for_tracking" not_eq: "$ref": "#/components/schemas/resource_service/properties/for_tracking" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter to services that the current person is allowed to track time against. example: eq: value with_memberships: oneOf: - "$ref": "#/components/schemas/resource_service/properties/with_memberships" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/with_memberships" not_contain: "$ref": "#/components/schemas/resource_service/properties/with_memberships" not_eq: "$ref": "#/components/schemas/resource_service/properties/with_memberships" contains: "$ref": "#/components/schemas/resource_service/properties/with_memberships" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: When true, includes membership data with the service results (internal use). example: eq: value price: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/price" contains: "$ref": "#/components/schemas/resource_service/properties/price" not_eq: "$ref": "#/components/schemas/resource_service/properties/price" eq: "$ref": "#/components/schemas/resource_service/properties/price" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_service/properties/price" description: Filter by service price range. example: gt: 0 booking_tracking_enabled: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/booking_tracking_enabled" not_contain: "$ref": "#/components/schemas/resource_service/properties/booking_tracking_enabled" contains: "$ref": "#/components/schemas/resource_service/properties/booking_tracking_enabled" eq: "$ref": "#/components/schemas/resource_service/properties/booking_tracking_enabled" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_service/properties/booking_tracking_enabled" description: Filter by whether booking tracking is enabled on the service. example: eq: value rolled_over_time: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/rolled_over_time" not_contain: "$ref": "#/components/schemas/resource_service/properties/rolled_over_time" not_eq: "$ref": "#/components/schemas/resource_service/properties/rolled_over_time" eq: "$ref": "#/components/schemas/resource_service/properties/rolled_over_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_service/properties/rolled_over_time" description: Filter by rolled-over time (time carried over from previous periods) in minutes. example: gt: 0 trackable_by_person_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/trackable_by_person_id" eq: "$ref": "#/components/schemas/resource_service/properties/trackable_by_person_id" contains: "$ref": "#/components/schemas/resource_service/properties/trackable_by_person_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/trackable_by_person_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/trackable_by_person_id" description: Filter to services that the specified person has permission to track time on. example: - 123 service_type_id: oneOf: - "$ref": "#/components/schemas/resource_service/properties/service_type_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/service_type_id" eq: "$ref": "#/components/schemas/resource_service/properties/service_type_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/service_type_id" contains: "$ref": "#/components/schemas/resource_service/properties/service_type_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the associated service type. example: - 123 person_id: oneOf: - "$ref": "#/components/schemas/resource_service/properties/person_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/person_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/person_id" eq: "$ref": "#/components/schemas/resource_service/properties/person_id" contains: "$ref": "#/components/schemas/resource_service/properties/person_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter to services accessible to the specified person for time tracking. example: - 123 expense_tracking_enabled: oneOf: - "$ref": "#/components/schemas/resource_service/properties/expense_tracking_enabled" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/expense_tracking_enabled" eq: "$ref": "#/components/schemas/resource_service/properties/expense_tracking_enabled" not_eq: "$ref": "#/components/schemas/resource_service/properties/expense_tracking_enabled" not_contain: "$ref": "#/components/schemas/resource_service/properties/expense_tracking_enabled" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by whether expense tracking is enabled on the service. example: eq: value type: oneOf: - "$ref": "#/components/schemas/resource_service/properties/type" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/type" contains: "$ref": "#/components/schemas/resource_service/properties/type" not_contain: "$ref": "#/components/schemas/resource_service/properties/type" not_eq: "$ref": "#/components/schemas/resource_service/properties/type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active description: Filter by service parent type (deal or budget). example: eq: active estimated_time: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/estimated_time" not_eq: "$ref": "#/components/schemas/resource_service/properties/estimated_time" not_contain: "$ref": "#/components/schemas/resource_service/properties/estimated_time" contains: "$ref": "#/components/schemas/resource_service/properties/estimated_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_service/properties/estimated_time" description: Filter by estimated time range (in minutes). example: gt: 0 markup_amount: oneOf: - "$ref": "#/components/schemas/resource_service/properties/markup_amount" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/markup_amount" contains: "$ref": "#/components/schemas/resource_service/properties/markup_amount" eq: "$ref": "#/components/schemas/resource_service/properties/markup_amount" not_contain: "$ref": "#/components/schemas/resource_service/properties/markup_amount" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by markup amount (monetary). example: gt: 0 section_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/section_id" eq: "$ref": "#/components/schemas/resource_service/properties/section_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/section_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/section_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/section_id" description: Filter by the section (group of services) within the deal or budget. example: - 123 profit: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/profit" not_eq: "$ref": "#/components/schemas/resource_service/properties/profit" not_contain: "$ref": "#/components/schemas/resource_service/properties/profit" eq: "$ref": "#/components/schemas/resource_service/properties/profit" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_service/properties/profit" description: Filter by profit (revenue minus cost) range. example: eq: value task_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/task_id" contains: "$ref": "#/components/schemas/resource_service/properties/task_id" eq: "$ref": "#/components/schemas/resource_service/properties/task_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/task_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/task_id" description: Filter by the associated task. example: - 123 project_type: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/project_type" contains: "$ref": "#/components/schemas/resource_service/properties/project_type" not_contain: "$ref": "#/components/schemas/resource_service/properties/project_type" eq: "$ref": "#/components/schemas/resource_service/properties/project_type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active - "$ref": "#/components/schemas/resource_service/properties/project_type" description: Filter by project type (deal or budget). example: eq: active deal_status_id: oneOf: - "$ref": "#/components/schemas/resource_service/properties/deal_status_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/deal_status_id" eq: "$ref": "#/components/schemas/resource_service/properties/deal_status_id" contains: "$ref": "#/components/schemas/resource_service/properties/deal_status_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/deal_status_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the associated deal status (pipeline stage). example: - 123 discount: oneOf: - "$ref": "#/components/schemas/resource_service/properties/discount" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/discount" not_eq: "$ref": "#/components/schemas/resource_service/properties/discount" contains: "$ref": "#/components/schemas/resource_service/properties/discount" not_contain: "$ref": "#/components/schemas/resource_service/properties/discount" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by the service's discount percentage range. example: gt: 0 stage_type: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/stage_type" eq: "$ref": "#/components/schemas/resource_service/properties/stage_type" not_contain: "$ref": "#/components/schemas/resource_service/properties/stage_type" not_eq: "$ref": "#/components/schemas/resource_service/properties/stage_type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active - "$ref": "#/components/schemas/resource_service/properties/stage_type" description: Filter by deal stage type (e.g. open, won, lost). example: eq: active origin_service_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/origin_service_id" contains: "$ref": "#/components/schemas/resource_service/properties/origin_service_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/origin_service_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/origin_service_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/origin_service_id" description: Filter by the service this service was copied or derived from. example: - 123 projected_revenue: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/projected_revenue" not_eq: "$ref": "#/components/schemas/resource_service/properties/projected_revenue" not_contain: "$ref": "#/components/schemas/resource_service/properties/projected_revenue" contains: "$ref": "#/components/schemas/resource_service/properties/projected_revenue" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_service/properties/projected_revenue" description: Filter by projected revenue range. example: eq: value query: oneOf: - "$ref": "#/components/schemas/resource_service/properties/query" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/query" eq: "$ref": "#/components/schemas/resource_service/properties/query" not_eq: "$ref": "#/components/schemas/resource_service/properties/query" not_contain: "$ref": "#/components/schemas/resource_service/properties/query" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Full-text search across service names and descriptions. example: eq: value quantity: oneOf: - "$ref": "#/components/schemas/resource_service/properties/quantity" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/quantity" not_contain: "$ref": "#/components/schemas/resource_service/properties/quantity" eq: "$ref": "#/components/schemas/resource_service/properties/quantity" contains: "$ref": "#/components/schemas/resource_service/properties/quantity" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by service quantity range. example: eq: value discount_amount: oneOf: - "$ref": "#/components/schemas/resource_service/properties/discount_amount" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/discount_amount" eq: "$ref": "#/components/schemas/resource_service/properties/discount_amount" not_contain: "$ref": "#/components/schemas/resource_service/properties/discount_amount" contains: "$ref": "#/components/schemas/resource_service/properties/discount_amount" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by discount amount (monetary). example: gt: 0 before: oneOf: - "$ref": "#/components/schemas/resource_service/properties/before" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/before" not_eq: "$ref": "#/components/schemas/resource_service/properties/before" eq: "$ref": "#/components/schemas/resource_service/properties/before" not_contain: "$ref": "#/components/schemas/resource_service/properties/before" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: 'Filter by a date range: return services bookable before this date.' example: eq: value budget_cap_enabled: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/budget_cap_enabled" not_eq: "$ref": "#/components/schemas/resource_service/properties/budget_cap_enabled" eq: "$ref": "#/components/schemas/resource_service/properties/budget_cap_enabled" not_contain: "$ref": "#/components/schemas/resource_service/properties/budget_cap_enabled" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_service/properties/budget_cap_enabled" description: Filter by whether a budget cap is enabled on the service. example: gt: 0 budgets_and_deals: oneOf: - "$ref": "#/components/schemas/resource_service/properties/budgets_and_deals" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/budgets_and_deals" eq: "$ref": "#/components/schemas/resource_service/properties/budgets_and_deals" not_eq: "$ref": "#/components/schemas/resource_service/properties/budgets_and_deals" not_contain: "$ref": "#/components/schemas/resource_service/properties/budgets_and_deals" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter services linked to a specific set of budgets and deals. example: gt: 0 limitation_type: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/limitation_type" contains: "$ref": "#/components/schemas/resource_service/properties/limitation_type" not_contain: "$ref": "#/components/schemas/resource_service/properties/limitation_type" eq: "$ref": "#/components/schemas/resource_service/properties/limitation_type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active - "$ref": "#/components/schemas/resource_service/properties/limitation_type" description: Filter by limitation type (none, time, budget, etc.) applied to the service. example: eq: active name: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/name" not_eq: "$ref": "#/components/schemas/resource_service/properties/name" contains: "$ref": "#/components/schemas/resource_service/properties/name" eq: "$ref": "#/components/schemas/resource_service/properties/name" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_service/properties/name" description: Filter by service name (text search). example: eq: value responsible_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/responsible_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/responsible_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/responsible_id" contains: "$ref": "#/components/schemas/resource_service/properties/responsible_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/responsible_id" description: Filter by the responsible person on the associated deal or budget. example: - 123 time_tracking_enabled: oneOf: - "$ref": "#/components/schemas/resource_service/properties/time_tracking_enabled" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/time_tracking_enabled" not_contain: "$ref": "#/components/schemas/resource_service/properties/time_tracking_enabled" eq: "$ref": "#/components/schemas/resource_service/properties/time_tracking_enabled" not_eq: "$ref": "#/components/schemas/resource_service/properties/time_tracking_enabled" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by whether time tracking is enabled on the service. example: gt: 0 bookable_date: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/bookable_date" eq: "$ref": "#/components/schemas/resource_service/properties/bookable_date" not_contain: "$ref": "#/components/schemas/resource_service/properties/bookable_date" not_eq: "$ref": "#/components/schemas/resource_service/properties/bookable_date" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_service/properties/bookable_date" description: Filter services by a specific bookable date. example: gt: '2026-01-01' remaining_scheduled_time: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/remaining_scheduled_time" not_contain: "$ref": "#/components/schemas/resource_service/properties/remaining_scheduled_time" contains: "$ref": "#/components/schemas/resource_service/properties/remaining_scheduled_time" eq: "$ref": "#/components/schemas/resource_service/properties/remaining_scheduled_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_service/properties/remaining_scheduled_time" description: Filter by remaining scheduled time (budgeted minus worked minus future booked) in minutes. example: gt: 0 worked_cost: oneOf: - "$ref": "#/components/schemas/resource_service/properties/worked_cost" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/worked_cost" eq: "$ref": "#/components/schemas/resource_service/properties/worked_cost" contains: "$ref": "#/components/schemas/resource_service/properties/worked_cost" not_contain: "$ref": "#/components/schemas/resource_service/properties/worked_cost" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by worked cost (cost of time already logged) range. example: eq: value budget_used: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/budget_used" eq: "$ref": "#/components/schemas/resource_service/properties/budget_used" contains: "$ref": "#/components/schemas/resource_service/properties/budget_used" not_contain: "$ref": "#/components/schemas/resource_service/properties/budget_used" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_service/properties/budget_used" description: Filter by amount of budget already used. example: gt: 0 markup: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/markup" eq: "$ref": "#/components/schemas/resource_service/properties/markup" not_contain: "$ref": "#/components/schemas/resource_service/properties/markup" not_eq: "$ref": "#/components/schemas/resource_service/properties/markup" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_service/properties/markup" description: Filter by the service's markup percentage range. example: eq: value revenue: oneOf: - "$ref": "#/components/schemas/resource_service/properties/revenue" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/revenue" contains: "$ref": "#/components/schemas/resource_service/properties/revenue" not_eq: "$ref": "#/components/schemas/resource_service/properties/revenue" not_contain: "$ref": "#/components/schemas/resource_service/properties/revenue" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by recognized revenue range. example: eq: value billing_type: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/billing_type" not_contain: "$ref": "#/components/schemas/resource_service/properties/billing_type" eq: "$ref": "#/components/schemas/resource_service/properties/billing_type" contains: "$ref": "#/components/schemas/resource_service/properties/billing_type" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: active - "$ref": "#/components/schemas/resource_service/properties/billing_type" description: Filter by billing type (hourly, fixed, non-billable, etc.). example: eq: active profit_margin: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/profit_margin" not_contain: "$ref": "#/components/schemas/resource_service/properties/profit_margin" not_eq: "$ref": "#/components/schemas/resource_service/properties/profit_margin" eq: "$ref": "#/components/schemas/resource_service/properties/profit_margin" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_service/properties/profit_margin" description: Filter by profit margin percentage range. example: eq: value bookable_before: oneOf: - "$ref": "#/components/schemas/resource_service/properties/bookable_before" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/bookable_before" eq: "$ref": "#/components/schemas/resource_service/properties/bookable_before" not_eq: "$ref": "#/components/schemas/resource_service/properties/bookable_before" not_contain: "$ref": "#/components/schemas/resource_service/properties/bookable_before" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter services with a bookable end date before this value. example: eq: value pipeline_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/pipeline_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/pipeline_id" eq: "$ref": "#/components/schemas/resource_service/properties/pipeline_id" contains: "$ref": "#/components/schemas/resource_service/properties/pipeline_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/pipeline_id" description: Filter by the associated pipeline. example: - 123 stage_status_id: oneOf: - "$ref": "#/components/schemas/resource_service/properties/stage_status_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/stage_status_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/stage_status_id" contains: "$ref": "#/components/schemas/resource_service/properties/stage_status_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/stage_status_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by budget pipeline stage status. example: - 123 budget_status: oneOf: - "$ref": "#/components/schemas/resource_service/properties/budget_status" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/budget_status" not_eq: "$ref": "#/components/schemas/resource_service/properties/budget_status" not_contain: "$ref": "#/components/schemas/resource_service/properties/budget_status" eq: "$ref": "#/components/schemas/resource_service/properties/budget_status" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by budget status (open or delivered). example: gt: 0 custom_fields: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_service/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_service/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_service/properties/custom_fields" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_service/properties/custom_fields" description: Filter by custom field values. example: eq: value explicit_access: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/explicit_access" eq: "$ref": "#/components/schemas/resource_service/properties/explicit_access" not_eq: "$ref": "#/components/schemas/resource_service/properties/explicit_access" contains: "$ref": "#/components/schemas/resource_service/properties/explicit_access" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_service/properties/explicit_access" description: Filter services to only those the current user has explicit (non-implicit) access permissions on. example: eq: value deal_stage_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/deal_stage_id" eq: "$ref": "#/components/schemas/resource_service/properties/deal_stage_id" contains: "$ref": "#/components/schemas/resource_service/properties/deal_stage_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/deal_stage_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/deal_stage_id" description: Filter by deal stage (deprecated; use deal_status_id instead). example: - 123 project_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/project_id" eq: "$ref": "#/components/schemas/resource_service/properties/project_id" contains: "$ref": "#/components/schemas/resource_service/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/project_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/project_id" description: Filter by the associated project. example: - 123 budget_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/budget_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/budget_id" contains: "$ref": "#/components/schemas/resource_service/properties/budget_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/budget_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/budget_id" description: Filter by the associated budget ID. example: - 123 billable: oneOf: - "$ref": "#/components/schemas/resource_service/properties/billable" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/billable" not_eq: "$ref": "#/components/schemas/resource_service/properties/billable" eq: "$ref": "#/components/schemas/resource_service/properties/billable" contains: "$ref": "#/components/schemas/resource_service/properties/billable" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: true description: Filter by whether the service is billable (true) or non-billable (false). example: true bookable_date_for_period: oneOf: - "$ref": "#/components/schemas/resource_service/properties/bookable_date_for_period" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/bookable_date_for_period" contains: "$ref": "#/components/schemas/resource_service/properties/bookable_date_for_period" not_contain: "$ref": "#/components/schemas/resource_service/properties/bookable_date_for_period" eq: "$ref": "#/components/schemas/resource_service/properties/bookable_date_for_period" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter services that are bookable on the given date (falls within the service's bookable period). example: gt: '2026-01-01' worked_time: oneOf: - "$ref": "#/components/schemas/resource_service/properties/worked_time" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/worked_time" not_eq: "$ref": "#/components/schemas/resource_service/properties/worked_time" contains: "$ref": "#/components/schemas/resource_service/properties/worked_time" eq: "$ref": "#/components/schemas/resource_service/properties/worked_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by total worked time logged against the service (in minutes). example: gt: 0 company_id: oneOf: - "$ref": "#/components/schemas/resource_service/properties/company_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/company_id" eq: "$ref": "#/components/schemas/resource_service/properties/company_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by client company. example: - 123 budget_remaining: oneOf: - "$ref": "#/components/schemas/resource_service/properties/budget_remaining" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/budget_remaining" eq: "$ref": "#/components/schemas/resource_service/properties/budget_remaining" not_eq: "$ref": "#/components/schemas/resource_service/properties/budget_remaining" contains: "$ref": "#/components/schemas/resource_service/properties/budget_remaining" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by remaining budget amount (budget total minus budget used) in the deal currency. example: gt: 0 origin_deal_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/origin_deal_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/origin_deal_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/origin_deal_id" contains: "$ref": "#/components/schemas/resource_service/properties/origin_deal_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/origin_deal_id" description: Filter by the deal this service's budget originated from. example: - 123 future_booked_time: oneOf: - "$ref": "#/components/schemas/resource_service/properties/future_booked_time" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/future_booked_time" not_contain: "$ref": "#/components/schemas/resource_service/properties/future_booked_time" contains: "$ref": "#/components/schemas/resource_service/properties/future_booked_time" eq: "$ref": "#/components/schemas/resource_service/properties/future_booked_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by total future booked time (upcoming bookings) in minutes. example: gt: 0 deal_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/deal_id" eq: "$ref": "#/components/schemas/resource_service/properties/deal_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/deal_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/deal_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/deal_id" description: Filter by the associated deal or budget. example: - 123 left_to_schedule_time: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/left_to_schedule_time" not_contain: "$ref": "#/components/schemas/resource_service/properties/left_to_schedule_time" eq: "$ref": "#/components/schemas/resource_service/properties/left_to_schedule_time" not_eq: "$ref": "#/components/schemas/resource_service/properties/left_to_schedule_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_service/properties/left_to_schedule_time" description: Filter by time remaining to schedule (estimated time minus booked time) in minutes. example: gt: 0 template: oneOf: - "$ref": "#/components/schemas/resource_service/properties/template" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/template" contains: "$ref": "#/components/schemas/resource_service/properties/template" not_eq: "$ref": "#/components/schemas/resource_service/properties/template" eq: "$ref": "#/components/schemas/resource_service/properties/template" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter template services. example: eq: value future_budget_used: oneOf: - "$ref": "#/components/schemas/resource_service/properties/future_budget_used" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/future_budget_used" not_contain: "$ref": "#/components/schemas/resource_service/properties/future_budget_used" eq: "$ref": "#/components/schemas/resource_service/properties/future_budget_used" not_eq: "$ref": "#/components/schemas/resource_service/properties/future_budget_used" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by the amount of budget that will be consumed by future bookings. example: gt: 0 after: oneOf: - "$ref": "#/components/schemas/resource_service/properties/after" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/after" not_eq: "$ref": "#/components/schemas/resource_service/properties/after" not_contain: "$ref": "#/components/schemas/resource_service/properties/after" eq: "$ref": "#/components/schemas/resource_service/properties/after" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: 'Filter by a date range: return services bookable after this date.' example: eq: value bookable_after: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/bookable_after" contains: "$ref": "#/components/schemas/resource_service/properties/bookable_after" not_contain: "$ref": "#/components/schemas/resource_service/properties/bookable_after" eq: "$ref": "#/components/schemas/resource_service/properties/bookable_after" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_service/properties/bookable_after" description: Filter services with a bookable start date after this value. example: eq: value billable_time: oneOf: - "$ref": "#/components/schemas/resource_service/properties/billable_time" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/billable_time" not_contain: "$ref": "#/components/schemas/resource_service/properties/billable_time" not_eq: "$ref": "#/components/schemas/resource_service/properties/billable_time" contains: "$ref": "#/components/schemas/resource_service/properties/billable_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by total billable time logged against the service (in minutes). example: gt: 0 booked_time: oneOf: - "$ref": "#/components/schemas/resource_service/properties/booked_time" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/booked_time" contains: "$ref": "#/components/schemas/resource_service/properties/booked_time" eq: "$ref": "#/components/schemas/resource_service/properties/booked_time" not_contain: "$ref": "#/components/schemas/resource_service/properties/booked_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by total booked time scheduled against the service (in minutes). example: gt: 0 budgeted_time: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/budgeted_time" contains: "$ref": "#/components/schemas/resource_service/properties/budgeted_time" not_eq: "$ref": "#/components/schemas/resource_service/properties/budgeted_time" not_contain: "$ref": "#/components/schemas/resource_service/properties/budgeted_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_service/properties/budgeted_time" description: Filter by the service's budgeted time (in minutes). example: gt: 0 cost: oneOf: - "$ref": "#/components/schemas/resource_service/properties/cost" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/cost" contains: "$ref": "#/components/schemas/resource_service/properties/cost" eq: "$ref": "#/components/schemas/resource_service/properties/cost" not_contain: "$ref": "#/components/schemas/resource_service/properties/cost" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by work cost (labor cost) range. example: eq: value revamped_unit: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/revamped_unit" eq: "$ref": "#/components/schemas/resource_service/properties/revamped_unit" contains: "$ref": "#/components/schemas/resource_service/properties/revamped_unit" not_eq: "$ref": "#/components/schemas/resource_service/properties/revamped_unit" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value - "$ref": "#/components/schemas/resource_service/properties/revamped_unit" description: Filter by unit type (revamped unit dimension) for the service. example: eq: value unit: oneOf: - "$ref": "#/components/schemas/resource_service/properties/unit" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/unit" not_eq: "$ref": "#/components/schemas/resource_service/properties/unit" eq: "$ref": "#/components/schemas/resource_service/properties/unit" contains: "$ref": "#/components/schemas/resource_service/properties/unit" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: eq: value description: Filter by service unit type (e.g. hours, days, items). example: eq: value subsidiary_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/subsidiary_id" eq: "$ref": "#/components/schemas/resource_service/properties/subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_service/properties/subsidiary_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/subsidiary_id" description: Filter by the associated subsidiary. example: - 123 budget_date: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service/properties/budget_date" contains: "$ref": "#/components/schemas/resource_service/properties/budget_date" eq: "$ref": "#/components/schemas/resource_service/properties/budget_date" not_contain: "$ref": "#/components/schemas/resource_service/properties/budget_date" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_service/properties/budget_date" description: Filter by the start date of the associated budget (quotes.date). example: gt: '2026-01-01' initial_service_id: oneOf: - "$ref": "#/components/schemas/resource_service/properties/initial_service_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/initial_service_id" contains: "$ref": "#/components/schemas/resource_service/properties/initial_service_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/initial_service_id" eq: "$ref": "#/components/schemas/resource_service/properties/initial_service_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 description: Filter by the original service this service was derived from (across contract periods). example: - 123 estimated_cost: oneOf: - "$ref": "#/components/schemas/resource_service/properties/estimated_cost" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/estimated_cost" not_contain: "$ref": "#/components/schemas/resource_service/properties/estimated_cost" not_eq: "$ref": "#/components/schemas/resource_service/properties/estimated_cost" eq: "$ref": "#/components/schemas/resource_service/properties/estimated_cost" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 description: Filter by estimated cost range. example: gt: 0 projectless_budgets: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service/properties/projectless_budgets" eq: "$ref": "#/components/schemas/resource_service/properties/projectless_budgets" contains: "$ref": "#/components/schemas/resource_service/properties/projectless_budgets" not_eq: "$ref": "#/components/schemas/resource_service/properties/projectless_budgets" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_service/properties/projectless_budgets" description: When true, includes services from budgets not linked to any project. example: gt: 0 unapproved_time: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/unapproved_time" contains: "$ref": "#/components/schemas/resource_service/properties/unapproved_time" not_contain: "$ref": "#/components/schemas/resource_service/properties/unapproved_time" not_eq: "$ref": "#/components/schemas/resource_service/properties/unapproved_time" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_service/properties/unapproved_time" description: Filter by total unapproved time (in minutes) logged against the service. example: gt: 0 budget_total: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service/properties/budget_total" eq: "$ref": "#/components/schemas/resource_service/properties/budget_total" not_contain: "$ref": "#/components/schemas/resource_service/properties/budget_total" not_eq: "$ref": "#/components/schemas/resource_service/properties/budget_total" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: 0 - "$ref": "#/components/schemas/resource_service/properties/budget_total" description: Filter by total budget amount range. example: gt: 0 id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/id" not_contain: "$ref": "#/components/schemas/resource_service/properties/id" not_eq: "$ref": "#/components/schemas/resource_service/properties/id" contains: "$ref": "#/components/schemas/resource_service/properties/id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/id" description: Filter by service ID. example: - 123 updated_at: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/updated_at" not_eq: "$ref": "#/components/schemas/resource_service/properties/updated_at" not_contain: "$ref": "#/components/schemas/resource_service/properties/updated_at" contains: "$ref": "#/components/schemas/resource_service/properties/updated_at" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_service/properties/updated_at" description: Filter by service last-updated date range. example: gt: '2026-01-01' sales_status_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service/properties/sales_status_id" contains: "$ref": "#/components/schemas/resource_service/properties/sales_status_id" not_contain: "$ref": "#/components/schemas/resource_service/properties/sales_status_id" not_eq: "$ref": "#/components/schemas/resource_service/properties/sales_status_id" description: Operator object — supports `eq`, `not_eq`, `contains`, `not_contain`. example: - 123 - "$ref": "#/components/schemas/resource_service/properties/sales_status_id" description: Filter by sales pipeline stage status. example: - 123 patternProperties: "^deal..*$": title: Deal relationship "^budget..*$": title: Budget relationship "^section..*$": title: Section relationship "^bookings..*$": title: Bookings relationship "^service_type..*$": title: Service type relationship description: Available filter parameters for querying services. example: id: eq: '123' resource_activity: type: object title: Activity Resource properties: has_attachments: type: boolean title: Has Attachments description: Whether this activity entry has file attachments. example: gt: '2026-01-01' project_id: type: integer title: Project description: ID of the related project, if applicable. example: - 123 person_id: type: integer title: Person description: ID of the related person, if applicable. example: - 123 root_name: title: Root Name description: Human-readable name of the root-level entity. example: eq: value event: type: string title: Event description: The type of change event (e.g. create, update, destroy). example: eq: value changeset: title: Changeset description: The set of field changes made in this activity, formatted as before/after pairs. Sensitive fields are filtered based on viewer permissions. example: eq: value id: type: integer title: Id description: Unique identifier for this activity. example: - 123 resource_request_id: type: integer title: Resource Request description: ID of the related resource request, if applicable. example: - 123 participant_id: type: integer title: Participant description: ID of a person who participated in the activity (as creator, email recipient, or subject). example: - 123 creator_id: type: integer title: Creator description: ID of the person who made this change. example: - 123 after: type: string title: After format: date-time description: Cursor for pagination — return activities after this timestamp. example: eq: value attachment: title: Attachment description: The attachment associated with this activity, if applicable. example: eq: value item_type: type: string title: Item Type description: Resource type of the changed entity (e.g. "task", "deal", "invoice"). example: eq: active engagement_id: type: integer title: Engagement description: ID of the related salary record, if applicable. example: - 123 type: type: string title: Type description: 'Activity type: 1=Comment, 2=Changeset (field change), 3=Email.' example: eq: active root_deleted_at: type: string title: Root Deleted At format: date-time description: Timestamp if the root entity has been soft-deleted, null otherwise. example: gt: '2026-01-01' pinned: type: boolean title: Pinned description: Whether this activity has a pinned comment. example: eq: value made_by_automation: title: Made By Automation description: Whether this change was triggered by an automation rule rather than a person. example: eq: value item_deleted_at: type: string title: Item Deleted At format: date-time description: Timestamp if the changed entity has been soft-deleted, null otherwise. example: gt: '2026-01-01' purchase_order_id: type: integer title: Purchase Order description: ID of the related purchase order, if applicable. example: 1234567 discussion_id: type: integer title: Discussion description: ID of the related doc discussion, if applicable. example: - 123 deal_id: type: integer title: Deal description: ID of the related deal/budget, if applicable. example: - 123 expense_id: type: integer title: Expense description: ID of the related expense, if this activity is about an expense. example: - 123 item_id: type: integer title: Item description: ID of the entity that was changed. example: - 123 parent_name: title: Parent Name description: Human-readable name of the parent entity. example: eq: value before: type: string title: Before format: date-time description: Cursor for pagination — return activities before this timestamp. example: eq: value organization: title: Organization description: The organization this activity belongs to. example: eq: value normalized_item_type: type: string title: Normalized Item Type description: Normalized resource type of the changed entity, distinguishing between deals and budgets. example: eq: active item_name: title: Item Name description: Human-readable name of the changed entity. example: eq: value task_id: type: integer title: Task description: ID of the related task, if this activity is about a task or its children. example: - 123 invoice_id: type: integer title: Invoice description: ID of the related invoice, if applicable. example: - 123 parent_type: type: string title: Parent Type description: Resource type of the parent entity. example: eq: active company_id: type: integer title: Company description: ID of the related company, if applicable. example: - 123 creator: title: Creator description: The person who made this change. example: eq: value booking_id: type: integer title: Booking description: ID of the related booking, if applicable. example: - 123 parent_deleted_at: type: string title: Parent Deleted At format: date-time description: Timestamp if the parent entity has been soft-deleted, null otherwise. example: gt: '2026-01-01' created_at: type: string title: Created At format: date-time description: When this activity occurred. example: gt: '2026-01-01' role: title: Role description: The role associated with this activity, if it was a role change. example: eq: value root_type: type: string title: Root Type description: Resource type of the root-level entity. example: eq: active page_id: type: integer title: Page description: ID of the related doc page, if applicable. example: - 123 deal_is_budget: title: Deal Is Budget description: Whether the related deal is a production budget (in a production pipeline) rather than a sales deal. example: gt: 0 comment: title: Comment description: The comment associated with this activity, if it was a comment event. example: eq: value proposal_id: type: integer title: Proposal description: ID of the related proposal, if applicable. example: - 123 parent_id: type: integer title: Parent description: ID of the parent entity (e.g. the project a task belongs to). example: - 123 root_id: type: integer title: Root description: ID of the root-level entity in the hierarchy. example: - 123 email: title: Email description: The email associated with this activity, if it was an email event. example: eq: value description: An activity feed entry recording a change event on an entity. Activities track who changed what, when, and how — forming the audit log for tasks, deals, projects, invoices, and other resources. example: id: '259275372' type: activities attributes: event: create changeset: - title: - '' - Implement user authentication item_id: 120501 item_type: task item_name: "#42: Implement user authentication" item_deleted_at: parent_id: 6899 parent_type: project parent_name: Website Redesign parent_deleted_at: root_id: 6899 root_type: project root_name: Website Redesign root_deleted_at: deal_is_budget: false task_id: 120501 deal_id: booking_id: invoice_id: company_id: 65111 created_at: '2026-03-01T10:00:00.000+00:00' person_id: 12 made_by_automation: false relationships: creator: data: type: people id: '12' filter_service_type: type: object title: Filter service type properties: id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_service_type/properties/id" contains: "$ref": "#/components/schemas/resource_service_type/properties/id" not_contain: "$ref": "#/components/schemas/resource_service_type/properties/id" eq: "$ref": "#/components/schemas/resource_service_type/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_service_type/properties/id" description: Filter by service type ID. example: - 123 status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service_type/properties/status" not_contain: "$ref": "#/components/schemas/resource_service_type/properties/status" not_eq: "$ref": "#/components/schemas/resource_service_type/properties/status" eq: "$ref": "#/components/schemas/resource_service_type/properties/status" description: Filter using explicit operator syntax. example: eq: active - "$ref": "#/components/schemas/resource_service_type/properties/status" description: Filter by status (active or archived). example: eq: active name: oneOf: - "$ref": "#/components/schemas/resource_service_type/properties/name" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_service_type/properties/name" not_contain: "$ref": "#/components/schemas/resource_service_type/properties/name" eq: "$ref": "#/components/schemas/resource_service_type/properties/name" not_eq: "$ref": "#/components/schemas/resource_service_type/properties/name" description: Filter using explicit operator syntax. example: eq: value description: Filter by service type name (exact match). example: eq: value person_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_service_type/properties/person_id" contains: "$ref": "#/components/schemas/resource_service_type/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_service_type/properties/person_id" eq: "$ref": "#/components/schemas/resource_service_type/properties/person_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_service_type/properties/person_id" description: Filter to service types assigned to the specified person. example: - 123 query: oneOf: - "$ref": "#/components/schemas/resource_service_type/properties/query" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_service_type/properties/query" not_contain: "$ref": "#/components/schemas/resource_service_type/properties/query" not_eq: "$ref": "#/components/schemas/resource_service_type/properties/query" contains: "$ref": "#/components/schemas/resource_service_type/properties/query" description: Filter using explicit operator syntax. example: eq: value description: Search service types by name (supports contains, exact, and exclusion operators). example: eq: value patternProperties: {} description: Filter parameters for querying service types. example: id: eq: '123' filter_proposal: type: object title: Filter proposal properties: creator_id: oneOf: - "$ref": "#/components/schemas/resource_proposal/properties/creator_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_proposal/properties/creator_id" eq: "$ref": "#/components/schemas/resource_proposal/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_proposal/properties/creator_id" contains: "$ref": "#/components/schemas/resource_proposal/properties/creator_id" description: Named-operator filter for the proposal creator ID. example: - 123 description: Filters proposals by the ID of the person who created them. example: - 123 budget_total: oneOf: - "$ref": "#/components/schemas/resource_proposal/properties/budget_total" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_proposal/properties/budget_total" eq: "$ref": "#/components/schemas/resource_proposal/properties/budget_total" not_eq: "$ref": "#/components/schemas/resource_proposal/properties/budget_total" contains: "$ref": "#/components/schemas/resource_proposal/properties/budget_total" description: Named-operator filter for the proposal budget total amount. example: gt: 0 description: Filters proposals by their total budget amount. example: gt: 0 company_id: oneOf: - "$ref": "#/components/schemas/resource_proposal/properties/company_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_proposal/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_proposal/properties/company_id" eq: "$ref": "#/components/schemas/resource_proposal/properties/company_id" contains: "$ref": "#/components/schemas/resource_proposal/properties/company_id" description: Named-operator filter for the proposal company ID. example: - 123 description: Filters proposals by the ID of their associated company (client). example: - 123 responsible_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_proposal/properties/responsible_id" eq: "$ref": "#/components/schemas/resource_proposal/properties/responsible_id" not_eq: "$ref": "#/components/schemas/resource_proposal/properties/responsible_id" contains: "$ref": "#/components/schemas/resource_proposal/properties/responsible_id" description: Named-operator filter for the proposal responsible person ID. example: - 123 - "$ref": "#/components/schemas/resource_proposal/properties/responsible_id" description: Filters proposals by the ID of their responsible person. example: - 123 status_changed_at: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_proposal/properties/status_changed_at" contains: "$ref": "#/components/schemas/resource_proposal/properties/status_changed_at" eq: "$ref": "#/components/schemas/resource_proposal/properties/status_changed_at" not_eq: "$ref": "#/components/schemas/resource_proposal/properties/status_changed_at" description: Named-operator filter for the proposal status change date. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_proposal/properties/status_changed_at" description: Filters proposals by the date their status last changed. example: gt: '2026-01-01' link_status: oneOf: - "$ref": "#/components/schemas/resource_proposal/properties/link_status" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_proposal/properties/link_status" not_contain: "$ref": "#/components/schemas/resource_proposal/properties/link_status" contains: "$ref": "#/components/schemas/resource_proposal/properties/link_status" not_eq: "$ref": "#/components/schemas/resource_proposal/properties/link_status" description: Named-operator filter for the proposal link status. example: eq: active description: Filters proposals by their public link sharing status. example: eq: active updated_at: oneOf: - "$ref": "#/components/schemas/resource_proposal/properties/updated_at" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_proposal/properties/updated_at" contains: "$ref": "#/components/schemas/resource_proposal/properties/updated_at" not_contain: "$ref": "#/components/schemas/resource_proposal/properties/updated_at" not_eq: "$ref": "#/components/schemas/resource_proposal/properties/updated_at" description: Named-operator filter for the proposal last updated date. example: gt: '2026-01-01' description: Filters proposals by their last update date. example: gt: '2026-01-01' id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_proposal/properties/id" eq: "$ref": "#/components/schemas/resource_proposal/properties/id" not_contain: "$ref": "#/components/schemas/resource_proposal/properties/id" not_eq: "$ref": "#/components/schemas/resource_proposal/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_proposal/properties/id" description: Filter by ID. example: - 123 created_at: oneOf: - "$ref": "#/components/schemas/resource_proposal/properties/created_at" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_proposal/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_proposal/properties/created_at" contains: "$ref": "#/components/schemas/resource_proposal/properties/created_at" eq: "$ref": "#/components/schemas/resource_proposal/properties/created_at" description: Named-operator filter for the proposal creation date. example: gt: '2026-01-01' description: Filters proposals by their creation date. example: gt: '2026-01-01' status: oneOf: - "$ref": "#/components/schemas/resource_proposal/properties/status" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_proposal/properties/status" not_contain: "$ref": "#/components/schemas/resource_proposal/properties/status" contains: "$ref": "#/components/schemas/resource_proposal/properties/status" not_eq: "$ref": "#/components/schemas/resource_proposal/properties/status" description: Filter using explicit operator syntax. example: eq: active description: Filter by proposal status. example: eq: active sent_at: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_proposal/properties/sent_at" eq: "$ref": "#/components/schemas/resource_proposal/properties/sent_at" not_eq: "$ref": "#/components/schemas/resource_proposal/properties/sent_at" contains: "$ref": "#/components/schemas/resource_proposal/properties/sent_at" description: Named-operator filter for the proposal sent date. example: gt: '2026-01-01' - "$ref": "#/components/schemas/resource_proposal/properties/sent_at" description: Filters proposals by the date they were sent to the client. example: gt: '2026-01-01' deal_id: oneOf: - "$ref": "#/components/schemas/resource_proposal/properties/deal_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_proposal/properties/deal_id" eq: "$ref": "#/components/schemas/resource_proposal/properties/deal_id" contains: "$ref": "#/components/schemas/resource_proposal/properties/deal_id" not_eq: "$ref": "#/components/schemas/resource_proposal/properties/deal_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated deal. example: - 123 patternProperties: "^deal..*$": title: Deal relationship "^company..*$": title: Company relationship "^creator..*$": title: Creator relationship "^responsible..*$": title: Responsible relationship description: Filter parameters for proposals. example: id: eq: '123' resource_survey_response: type: object title: Survey response Resource properties: custom_field_attachments: title: Custom Field Attachments description: File attachments associated with custom field values in this response. example: gt: '2026-01-01' updated_at: type: string title: Updated At format: date-time description: Timestamp when this survey response was last updated. example: gt: '2026-01-01' survey: title: Survey description: The survey this response was submitted for. example: eq: value created_at: type: string title: Created At format: date-time description: Timestamp when this survey response was created. example: gt: '2026-01-01' survey_id: type: integer title: Survey description: ID of the survey this response was submitted for. example: - 123 creator_id: type: integer title: Creator description: ID of the person who submitted this survey response. example: - 123 id: type: integer title: Id description: The unique identifier of this survey response. example: - 123 organization: title: Organization description: The organization this survey response belongs to. example: eq: value custom_fields: type: string title: Custom Fields description: The custom field values submitted as part of this response. example: eq: value survey_fields: title: Survey Fields description: The survey field responses included in this submission. example: eq: value creator: title: Creator description: The person who submitted this survey response. example: eq: value description: Submitted form response for a survey. Contains field values keyed by survey_field_id. Triggers any automations configured on the parent survey. example: id: '123' type: survey_responses attributes: submitted_at: '2026-01-15T10:00:00Z' answers: {} relationships: survey: data: type: surveys id: '7' resource_page: type: object title: Page Resource properties: edited_at: type: string title: Edited At format: date-time description: Timestamp when the page content was last edited. example: gt: '2026-01-01' root_page: title: Root Page description: The root Doc page of the hierarchy this page belongs to. Null for root pages themselves. example: eq: value custom_fields: type: object title: Custom Fields description: Custom field values set on this page. Only available on root pages that belong to a project. example: eq: value template_object: title: Template Object description: The template this page was created from, if any. example: eq: value creator_id: type: integer title: Creator description: ID of the person who created this page. example: - 123 title: type: string title: Title description: Title of the page. example: eq: value subscriber_id: type: integer title: Subscriber description: ID of the subscriber (person) watching this page for updates. example: - 123 subscriber_ids: title: Subscriber Ids description: IDs of people subscribed to receive updates for this page. example: - 123 - 456 steps: type: array items: description: An individual ProseMirror step applied during collaborative editing. example: eq: value title: Steps description: The ProseMirror steps applied to this page's content during collaborative editing. example: eq: value attachments: title: Attachments description: Attachments linked to this page. example: eq: value project: title: Project description: The project this page is associated with, if any. example: eq: value last_activity_at: type: string title: Last Activity At format: date-time description: Timestamp of the most recent activity on this page. example: gt: '2026-01-01' created_at: type: string title: Created At format: date-time description: Timestamp when the page was created. example: gt: '2026-01-01' attachment_ids: title: Attachment Ids description: IDs of attachments associated with this page. example: - 123 - 456 project_id: type: integer title: Project description: ID of the project this page belongs to. example: - 123 public_uuid: type: string title: Public Uuid description: UUID used in the public sharing URL for this page. example: eq: value preferences: type: object title: Preferences description: User-specific display preferences for this page, such as layout settings. example: eq: value version_number: type: integer title: Version Number description: Incremental version counter for the page body, used to detect and prevent conflicting edits. example: eq: value creator: title: Creator description: The person who created this page. example: eq: value project_name: title: Project Name description: Name of the project this page belongs to. example: eq: value query: type: string title: Query description: Search query matched against page title only. example: eq: value organization: title: Organization description: The organization this page belongs to. example: eq: value jump_query: type: string title: Jump Query description: Short query used for jump-to search navigation across pages. example: eq: value creator_name: title: Creator Name description: Display name of the page creator. example: eq: value parent_page: title: Parent Page description: The parent page of this page in the hierarchy, if any. example: eq: value root_page_id: type: integer title: Root Page description: ID of the root Doc page. Null if this page is itself a root Doc. example: - 123 fuzzy_people: type: integer title: Fuzzy People description: Person IDs associated with the page for fuzzy search matching. example: eq: value body: title: Body description: Rich text body of the page in ProseMirror JSON format. example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp when the page record was last updated. example: gt: '2026-01-01' public_access: type: boolean title: Public Access description: Controls whether the page can be viewed publicly without authentication. example: eq: value parent_page_id: type: integer title: Parent Page description: ID of the parent page in the hierarchy, or null if this is a root page. example: - 123 fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy date values extracted from page content for search matching. example: gt: '2026-01-01' public: title: Public description: Whether this page is publicly accessible via a shared link. example: eq: value position: type: integer title: Position description: The display order position of this page among its siblings. example: eq: value template: type: string title: Template description: Whether this page was created from a template. example: eq: value full_query: type: string title: Full Query description: Full-text search query matching across all page fields including title and body. example: eq: value person_type: type: integer title: Person Type description: Indicates the membership context of the current user (e.g. member or guest). example: eq: active cover_image_meta: type: string title: Cover Image Meta description: Metadata for the cover image, such as dimensions and focal point. example: eq: value id: type: integer title: Id description: Unique identifier of the page. example: - 123 icon_id: type: string title: Icon description: Emoji or icon identifier displayed next to the page title. example: - 123 cover_image_url: type: string title: Cover Image Url description: URL of the cover image displayed at the top of the page. example: eq: value project_status: enum: - 1 - 2 type: integer title: Project Status description: Status of the project this page belongs to (active or archived). example: eq: active status: type: integer title: Status description: The status filter value used when querying pages (active or archived). example: eq: active description: A rich text document page. Root pages are standalone Docs with sharing settings; child pages form a hierarchy within a Doc. example: id: '78' type: pages attributes: title: Architecture Overview note: System architecture documentation for the authentication service created_at: '2026-01-20T10:00:00.000+00:00' updated_at: '2026-03-10T15:00:00.000+00:00' last_activity_at: '2026-03-10T15:00:00.000+00:00' position: 1 archived_at: relationships: project: data: type: projects id: '6899' creator: data: type: people id: '12' _filter_root_activity: oneOf: - "$ref": "#/components/schemas/filter_activity" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_activity" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `activity` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_price_report: type: object title: Filter price report properties: expense_tracking_enabled: oneOf: - "$ref": "#/components/schemas/resource_price_report/properties/expense_tracking_enabled" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_price_report/properties/expense_tracking_enabled" not_eq: "$ref": "#/components/schemas/resource_price_report/properties/expense_tracking_enabled" not_contain: "$ref": "#/components/schemas/resource_price_report/properties/expense_tracking_enabled" eq: "$ref": "#/components/schemas/resource_price_report/properties/expense_tracking_enabled" description: Filter operator object for expense tracking enabled. example: eq: value description: Filter price report results by expense tracking enabled. example: eq: value id: oneOf: - "$ref": "#/components/schemas/resource_price_report/properties/id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_price_report/properties/id" not_eq: "$ref": "#/components/schemas/resource_price_report/properties/id" not_contain: "$ref": "#/components/schemas/resource_price_report/properties/id" contains: "$ref": "#/components/schemas/resource_price_report/properties/id" description: Filter operator object for id. example: - 123 description: Filter price report results by id. example: - 123 custom_fields: oneOf: - "$ref": "#/components/schemas/resource_price_report/properties/custom_fields" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_price_report/properties/custom_fields" not_eq: "$ref": "#/components/schemas/resource_price_report/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_price_report/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_price_report/properties/custom_fields" description: Filter operator object for custom fields. example: eq: value description: Filter price report results by custom fields. example: eq: value rate_card_id: oneOf: - "$ref": "#/components/schemas/resource_price_report/properties/rate_card_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_price_report/properties/rate_card_id" not_eq: "$ref": "#/components/schemas/resource_price_report/properties/rate_card_id" not_contain: "$ref": "#/components/schemas/resource_price_report/properties/rate_card_id" eq: "$ref": "#/components/schemas/resource_price_report/properties/rate_card_id" description: Filter operator object for rate card id. example: - 123 description: Filter price report results by rate card id. example: - 123 booking_tracking_enabled: oneOf: - "$ref": "#/components/schemas/resource_price_report/properties/booking_tracking_enabled" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_price_report/properties/booking_tracking_enabled" not_eq: "$ref": "#/components/schemas/resource_price_report/properties/booking_tracking_enabled" not_contain: "$ref": "#/components/schemas/resource_price_report/properties/booking_tracking_enabled" eq: "$ref": "#/components/schemas/resource_price_report/properties/booking_tracking_enabled" description: Filter operator object for booking tracking enabled. example: eq: value description: Filter price report results by booking tracking enabled. example: eq: value service_type_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_price_report/properties/service_type_id" not_contain: "$ref": "#/components/schemas/resource_price_report/properties/service_type_id" contains: "$ref": "#/components/schemas/resource_price_report/properties/service_type_id" eq: "$ref": "#/components/schemas/resource_price_report/properties/service_type_id" description: Filter operator object for service type id. example: - 123 - "$ref": "#/components/schemas/resource_price_report/properties/service_type_id" description: Filter price report results by service type id. example: - 123 company_id: oneOf: - "$ref": "#/components/schemas/resource_price_report/properties/company_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_price_report/properties/company_id" contains: "$ref": "#/components/schemas/resource_price_report/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_price_report/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_price_report/properties/company_id" description: Filter operator object for company id. example: - 123 description: Filter price report results by company id. example: - 123 unit_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_price_report/properties/unit_id" eq: "$ref": "#/components/schemas/resource_price_report/properties/unit_id" not_eq: "$ref": "#/components/schemas/resource_price_report/properties/unit_id" not_contain: "$ref": "#/components/schemas/resource_price_report/properties/unit_id" description: Filter operator object for unit id. example: - 123 - "$ref": "#/components/schemas/resource_price_report/properties/unit_id" description: Filter price report results by unit id. example: - 123 time_tracking_enabled: oneOf: - "$ref": "#/components/schemas/resource_price_report/properties/time_tracking_enabled" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_price_report/properties/time_tracking_enabled" not_eq: "$ref": "#/components/schemas/resource_price_report/properties/time_tracking_enabled" contains: "$ref": "#/components/schemas/resource_price_report/properties/time_tracking_enabled" eq: "$ref": "#/components/schemas/resource_price_report/properties/time_tracking_enabled" description: Filter operator object for time tracking enabled. example: gt: 0 description: Filter price report results by time tracking enabled. example: gt: 0 billing_type_id: oneOf: - "$ref": "#/components/schemas/resource_price_report/properties/billing_type_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_price_report/properties/billing_type_id" not_contain: "$ref": "#/components/schemas/resource_price_report/properties/billing_type_id" eq: "$ref": "#/components/schemas/resource_price_report/properties/billing_type_id" not_eq: "$ref": "#/components/schemas/resource_price_report/properties/billing_type_id" description: Filter operator object for billing type id. example: - 123 description: Filter price report results by billing type id. example: - 123 rate_card_status: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_price_report/properties/rate_card_status" eq: "$ref": "#/components/schemas/resource_price_report/properties/rate_card_status" not_contain: "$ref": "#/components/schemas/resource_price_report/properties/rate_card_status" not_eq: "$ref": "#/components/schemas/resource_price_report/properties/rate_card_status" description: Filter operator object for rate card status. example: gt: 0 - "$ref": "#/components/schemas/resource_price_report/properties/rate_card_status" description: Filter price report results by rate card status. example: gt: 0 patternProperties: "^company..*$": title: Company relationship "^rate_card..*$": title: Rate card relationship description: Available filter parameters for querying aggregated price report data. example: id: eq: '123' resource_organization_membership: type: object title: Organization membership Resource properties: docs_favorite_filter: title: Docs Favorite Filter description: The member's pinned favorite filter for the docs list view. example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp when this organization membership was last updated. example: gt: '2026-01-01' bookings_favorite_filter: title: Bookings Favorite Filter description: The member's pinned favorite filter for the bookings list view. example: eq: value granular_notification_preferences: type: object title: Granular Notification Preferences description: Granular per-event email notification preferences for this member. example: eq: value expenses_favorite_filter: title: Expenses Favorite Filter description: The member's pinned favorite filter for the expenses list view. example: eq: value tasks_layout_id: type: integer title: Tasks Layout description: ID of the layout preference used for the tasks view by this member. example: - 123 budgets_favorite_filter: title: Budgets Favorite Filter description: The member's pinned favorite filter for the budgets list view. example: gt: 0 organization: title: Organization description: The organization this membership belongs to. example: eq: value companies_favorite_filter: title: Companies Favorite Filter description: The member's pinned favorite filter for the companies list view. example: eq: value invoices_favorite_filter: title: Invoices Favorite Filter description: The member's pinned favorite filter for the invoices list view. example: eq: value deal_services_filter_id: type: integer title: Deal Services Filter description: The deal services filter id. example: - 123 company_time_favorite_filter: title: Company Time Favorite Filter description: The company time favorite filter. example: gt: 0 budgets_filter_id: type: integer title: Budgets Filter description: ID of the member's default filter for the budgets list view. example: - 123 expense_approvals_filter_id: type: integer title: Expense Approvals Filter description: The expense approvals filter id. example: - 123 position: type: integer title: Position description: The job title or position of this member within the organization. example: eq: value salary_reports_filter_id: type: integer title: Salary Reports Filter description: ID of the saved salary report filter applied by default for this organization membership. example: - 123 company_time_filter_id: type: integer title: Company Time Filter description: The company time filter id. example: - 123 time_entry_reports_filter_id: type: integer title: Time Entry Reports Filter description: The ID of the saved filter applied by default when viewing time entry reports. example: - 123 organization_id: type: integer title: Organization description: ID of the organization this membership belongs to. example: - 123 contacts_favorite_filter: title: Contacts Favorite Filter description: The member's pinned favorite filter for the contacts list view. example: eq: value budget_services_filter_id: type: integer title: Budget Services Filter description: The budget services filter id. example: - 123 time_approvals_filter_id: type: integer title: Time Approvals Filter description: The time approvals filter id. example: - 123 invoices_filter_id: type: integer title: Invoices Filter description: ID of the member's default filter for the invoices list view. example: - 123 bookings_filter_id: type: integer title: Bookings Filter description: ID of the member's default filter for the bookings list view. example: - 123 preferences: type: string title: Preferences description: Miscellaneous UI preferences stored for this member. example: eq: value people_favorite_filter: title: People Favorite Filter description: The member's pinned favorite filter for the people list view. example: eq: value salary_reports_favorite_filter: title: Salary Reports Favorite Filter description: The salary report filter favorited by this organization membership. example: eq: value person: title: Person description: The person associated with this organization membership. example: eq: value expenses_filter_id: type: integer title: Expenses Filter description: ID of the member's default filter for the expenses list view. example: - 123 time_reminders: type: boolean title: Time Reminders description: Whether this member receives time tracking reminder notifications. example: gt: 0 internal_budget_services_favorite_filter: title: Internal Budget Services Favorite Filter description: The internal budget services favorite filter. example: gt: 0 projects_favorite_filter: title: Projects Favorite Filter description: The member's pinned favorite filter for the projects list view. example: eq: value deal_services_favorite_filter: title: Deal Services Favorite Filter description: The deal services favorite filter. example: eq: value booking_approvals_filter_id: type: integer title: Booking Approvals Filter description: The booking approvals filter id. example: - 123 user: title: User description: The user account associated with this organization membership. example: eq: value tasks_favorite_filter: title: Tasks Favorite Filter description: The member's pinned favorite filter for the tasks list view. example: eq: value payments_filter_id: type: integer title: Payments Filter description: ID of the member's default filter for the payments list view. example: - 123 docs_filter_id: type: integer title: Docs Filter description: ID of the member's default filter for the docs list view. example: - 123 contacts_filter_id: type: integer title: Contacts Filter description: ID of the member's default filter for the contacts list view. example: - 123 weekly_emails: type: boolean title: Weekly Emails description: Whether this member receives weekly summary emails from the organization. example: eq: value time_entry_reports_favorite_filter: title: Time Entry Reports Favorite Filter description: The pinned (favorite) time entry report filter for this organization membership. example: gt: 0 expense_approvals_favorite_filter: title: Expense Approvals Favorite Filter description: The expense approvals favorite filter. example: eq: value employees_filter_id: type: integer title: Employees Filter description: ID of the default filter this member uses in the employees section of the organization. example: - 123 email_notifications: type: boolean title: Email Notifications description: Whether this member receives email notifications from the organization. example: eq: value payments_favorite_filter: title: Payments Favorite Filter description: The member's pinned favorite filter for the payments list view. example: eq: value people_filter_id: type: integer title: People Filter description: ID of the member's default filter for the people list view. example: - 123 deals_favorite_filter: title: Deals Favorite Filter description: The member's pinned favorite filter for the deals list view. example: eq: value deals_filter_id: type: integer title: Deals Filter description: ID of the member's default filter for the deals list view. example: - 123 time_reports_filter_id: type: integer title: Time Reports Filter description: ID of the saved time report filter applied by default for this organization membership. example: - 123 employees_favorite_filter: title: Employees Favorite Filter description: The favorite filter saved by this member for the employees section of the organization. example: eq: value budget_services_favorite_filter: title: Budget Services Favorite Filter description: The budget services favorite filter. example: gt: 0 time_reports_favorite_filter: title: Time Reports Favorite Filter description: The time report filter favorited by this organization membership. example: gt: 0 tasks_filter_id: type: integer title: Tasks Filter description: ID of the member's default filter for the tasks list view. example: - 123 quick_start_config: type: string title: Quick Start Config description: Configuration for the quick-start onboarding experience for this member. example: eq: value booking_approvals_favorite_filter: title: Booking Approvals Favorite Filter description: The saved filter ID for the current user's booking approvals view. example: eq: value internal_budget_services_filter_id: type: integer title: Internal Budget Services Filter description: The internal budget services filter id. example: - 123 companies_filter_id: type: integer title: Companies Filter description: ID of the member's default filter for the companies list view. example: - 123 time_approvals_favorite_filter: title: Time Approvals Favorite Filter description: The time approvals favorite filter. example: gt: 0 time_tracking_policy: title: Time Tracking Policy description: The time tracking policy applied to this member. example: gt: 0 projects_filter_id: type: integer title: Projects Filter description: ID of the member's default filter for the projects list view. example: - 123 description: User-organization access link. Stores per-user preferences including notification settings, email preferences, default saved filters for each list view (tasks, deals, projects, invoices, expenses, bookings, etc.), time reminder settings, and UI layout preferences. example: id: '123' type: organization_memberships attributes: role: admin joined_at: '2026-01-01T00:00:00Z' relationships: person: data: type: people id: '12' _filter_root_dashboard: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_dashboard" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_dashboard" description: Filter schema for `dashboard` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_company_report: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_company_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_company_report" description: Filter schema for `company_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_line_item: type: object title: Line item Resource properties: service_type_id: type: integer title: Service Type description: ID of the service type categorizing this line item. example: - 123 unit_price: type: integer title: Unit Price description: The price per unit for this line item in the invoice's currency. example: gt: 0 kpd_code_id: type: integer title: Kpd Code description: ID of the KPD classification code assigned to this line item (used only in Croatia). example: '42' company_id: type: integer title: Company description: ID of the company (client) on the invoice this line item belongs to. example: - 123 tax_rate: title: Tax Rate description: The tax rate applied to this line item. example: gt: 0 updater_id: type: integer title: Updater description: ID of the person who last updated this line item. example: - 123 amount_tax_default: title: Amount Tax Default description: The tax portion of this line item's amount converted to the organization's default currency. example: gt: 0 amount_tax_normalized: title: Amount Tax Normalized description: The tax portion of this line item's amount converted to the invoice currency. example: gt: 0 amount_tax: title: Amount Tax description: The tax portion of this line item's amount in the invoice's currency. example: gt: 0 position: type: integer title: Position description: The display order of this line item within the invoice. example: eq: value tax_name: type: string title: Tax Name description: The display name of the tax applied to this line item (e.g. VAT). example: eq: value quantity: type: number title: Quantity description: The quantity of units for this line item; for percentage billing types, expressed as a percentage value. example: eq: value invoice_id: type: integer title: Invoice description: ID of the invoice this line item belongs to. example: - 123 unit_price_normalized: title: Unit Price Normalized description: "The price per unit for this line item in the invoice's currency.\n\n" example: gt: 0 amount_with_tax_normalized: title: Amount With Tax Normalized description: The amount with tax converted to the invoice currency. example: gt: 0 tax_rate_id: type: integer title: Tax Rate description: ID of the tax rate applied to this line item, or null if tax is not applied. example: - 123 unit_id: enum: - 1 - 2 - 3 type: integer title: Unit description: ID of the unit of measure for this line item (e.g. hour, day, piece). example: - 123 expense: title: Expense description: The project expense linked to this line item, if this line item was generated from an expense. example: eq: value currency_default: title: Currency Default description: The organization's default currency for this line item. example: eq: value invoice: title: Invoice description: The invoice this line item belongs to. example: eq: value amount: title: Amount description: The total line amount (unit price × quantity, minus discount) in the invoice's currency. example: gt: 0 id: type: integer title: Id description: Unique identifier of this line item. example: - 123 creator_id: type: integer title: Creator description: ID of the person who created this line item. example: - 123 expense_id: type: integer title: Expense description: ID of the project expense linked to this line item, or null if not expense-based. example: - 123 amount_with_tax_default: title: Amount With Tax Default description: The amount with tax converted to the organization's default currency. example: gt: 0 tax_value: type: number title: Tax Value description: The computed tax amount for this line item (amount × tax_value). example: eq: value organization: title: Organization description: The organization this line item belongs to. example: eq: value unit_price_default: title: Unit Price Default description: The price per unit converted to the organization's default currency. example: gt: 0 kpd_code: title: Kpd Code description: The KPD classification code assigned to this line item, used for e-invoicing compliance in Croatia. example: data: type: kpd_codes id: '42' service_type: title: Service Type description: The service type categorizing this line item. example: eq: active amount_normalized: title: Amount Normalized description: The total line amount converted to the invoice currency. example: gt: 0 service: title: Service description: The budget service linked to this line item, if this line item was generated from a service. example: eq: value service_id: type: integer title: Service description: ID of the budget service linked to this line item, or null if not service-based. example: - 123 amount_default: title: Amount Default description: The total line amount converted to the organization's default currency. example: gt: 0 amount_with_tax: title: Amount With Tax description: The total line amount including tax in the invoice's currency. example: gt: 0 discount: type: number title: Discount description: The discount applied to this line item, expressed as a percentage (0–100). example: gt: 0 currency_normalized: title: Currency Normalized description: The invoice's currency for this line item. example: eq: value currency: title: Currency description: The currency of this line item, inherited from the associated invoice. example: eq: value description: An invoice line item with quantity, unit price, description, and tax. Line items can link to budget services or expenses for automatic billing. example: id: '890' type: line_items attributes: name: Frontend Development quantity: 10 unit: hours unit_price: '150.00' total_price: '1500.00' currency: USD position: 1 tax_rate: '0.1' relationships: invoice: data: type: invoices id: '234' service: data: type: services id: '1856422' filter_integration: type: object title: Filter integration properties: project_id: oneOf: - "$ref": "#/components/schemas/resource_integration/properties/project_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_integration/properties/project_id" contains: "$ref": "#/components/schemas/resource_integration/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_integration/properties/project_id" eq: "$ref": "#/components/schemas/resource_integration/properties/project_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated project. example: - 123 jira_organization: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_integration/properties/jira_organization" not_eq: "$ref": "#/components/schemas/resource_integration/properties/jira_organization" contains: "$ref": "#/components/schemas/resource_integration/properties/jira_organization" eq: "$ref": "#/components/schemas/resource_integration/properties/jira_organization" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_integration/properties/jira_organization" description: Filter by Jira organization name or key (Jira integrations only). example: eq: value deal_id: oneOf: - "$ref": "#/components/schemas/resource_integration/properties/deal_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_integration/properties/deal_id" eq: "$ref": "#/components/schemas/resource_integration/properties/deal_id" not_contain: "$ref": "#/components/schemas/resource_integration/properties/deal_id" not_eq: "$ref": "#/components/schemas/resource_integration/properties/deal_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the associated deal. example: - 123 subsidiary_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_integration/properties/subsidiary_id" eq: "$ref": "#/components/schemas/resource_integration/properties/subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_integration/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_integration/properties/subsidiary_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_integration/properties/subsidiary_id" description: Filter by the associated subsidiary. example: - 123 integration_type_id: oneOf: - "$ref": "#/components/schemas/resource_integration/properties/integration_type_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_integration/properties/integration_type_id" not_contain: "$ref": "#/components/schemas/resource_integration/properties/integration_type_id" contains: "$ref": "#/components/schemas/resource_integration/properties/integration_type_id" not_eq: "$ref": "#/components/schemas/resource_integration/properties/integration_type_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by integration type ID (e.g. Jira, Slack, QuickBooks). example: - 123 jira_project: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_integration/properties/jira_project" contains: "$ref": "#/components/schemas/resource_integration/properties/jira_project" not_contain: "$ref": "#/components/schemas/resource_integration/properties/jira_project" eq: "$ref": "#/components/schemas/resource_integration/properties/jira_project" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_integration/properties/jira_project" description: Filter by Jira project key (Jira integrations only). example: eq: value project_status: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_integration/properties/project_status" not_eq: "$ref": "#/components/schemas/resource_integration/properties/project_status" contains: "$ref": "#/components/schemas/resource_integration/properties/project_status" not_contain: "$ref": "#/components/schemas/resource_integration/properties/project_status" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_integration/properties/project_status" description: Filter by project status (e.g. active, archived). example: eq: active patternProperties: {} description: Available filter parameters for querying integration records. example: id: eq: '123' resource_service_type_assignment: type: object title: Service type assignment Resource properties: service_type: title: Service Type description: The service type this assignment belongs to. example: eq: active service_type_id: type: integer title: Service Type description: ID of the service type this assignment belongs to. example: - 123 organization: title: Organization description: The organization this service type assignment belongs to. example: eq: value person: title: Person description: The person assigned to this service type. example: eq: value id: type: integer title: Id description: The unique identifier of this service type assignment. example: - 123 person_id: type: integer title: Person description: ID of the person assigned to this service type. example: - 123 description: The resource service type assignment. example: id: '123' type: service_type_assignments attributes: rate: 120 currency: USD relationships: service_type: data: type: service_types id: '5' resource_rate_card: type: object title: Rate card Resource properties: created_at: type: string title: Created At format: date-time description: Timestamp when this rate card was created. example: gt: '2026-01-01' name: type: string title: Name description: The name of this rate card. example: eq: value company_id: type: integer title: Company description: ID of the company this rate card is associated with. example: - 123 prices_count: title: Prices Count description: The number of prices defined on this rate card. example: gt: 0 archived_at: type: string title: Archived At format: date-time description: Timestamp when this rate card was archived, or null if it is still active. example: gt: '2026-01-01' organization: title: Organization description: The organization this rate card belongs to. example: eq: value creator: title: Creator description: The person who created this rate card. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: The current status of this rate card (active or archived). example: eq: active updated_at: type: string title: Updated At format: date-time description: Timestamp when this rate card was last updated. example: gt: '2026-01-01' company: title: Company description: The company this rate card is associated with. example: eq: value description: Price list for services. Contains a name, optional client company link (for client-specific rates), creation metadata, and a count of contained prices. Prices are managed separately via the prices endpoint. example: id: '7' type: rate_cards attributes: name: Standard 2026 currency: USD created_at: '2026-01-01T00:00:00.000+00:00' updated_at: '2026-01-01T00:00:00.000+00:00' relationships: {} filter_bank_account: type: object title: Filter bank account properties: bank_name: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" eq: "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" contains: "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" not_contain: "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_bank_account/properties/bank_name" description: Filter by bank name (text search). example: eq: value name: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_bank_account/properties/name" eq: "$ref": "#/components/schemas/resource_bank_account/properties/name" not_eq: "$ref": "#/components/schemas/resource_bank_account/properties/name" not_contain: "$ref": "#/components/schemas/resource_bank_account/properties/name" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_bank_account/properties/name" description: Filter by account name (text search). example: eq: value subsidiary_id: oneOf: - "$ref": "#/components/schemas/resource_bank_account/properties/subsidiary_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_bank_account/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_bank_account/properties/subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_bank_account/properties/subsidiary_id" not_contain: "$ref": "#/components/schemas/resource_bank_account/properties/subsidiary_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated subsidiary. example: - 123 status: oneOf: - "$ref": "#/components/schemas/resource_bank_account/properties/status" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_bank_account/properties/status" not_contain: "$ref": "#/components/schemas/resource_bank_account/properties/status" eq: "$ref": "#/components/schemas/resource_bank_account/properties/status" contains: "$ref": "#/components/schemas/resource_bank_account/properties/status" description: Filter using explicit operator syntax. example: eq: active description: Filter by active/archived status. example: eq: active id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_bank_account/properties/id" not_eq: "$ref": "#/components/schemas/resource_bank_account/properties/id" contains: "$ref": "#/components/schemas/resource_bank_account/properties/id" not_contain: "$ref": "#/components/schemas/resource_bank_account/properties/id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_bank_account/properties/id" description: Filter by bank account ID. example: - 123 patternProperties: "^subsidiary..*$": title: Subsidiary relationship description: Filter parameters for bank accounts. example: id: eq: '123' filter_custom_field: type: object title: Filter custom field properties: name: oneOf: - "$ref": "#/components/schemas/resource_custom_field/properties/name" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_custom_field/properties/name" eq: "$ref": "#/components/schemas/resource_custom_field/properties/name" not_eq: "$ref": "#/components/schemas/resource_custom_field/properties/name" not_contain: "$ref": "#/components/schemas/resource_custom_field/properties/name" description: Filter using explicit operator syntax. example: eq: value description: Filter by custom field name (text search). example: eq: value customizable_type: oneOf: - "$ref": "#/components/schemas/resource_custom_field/properties/customizable_type" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_custom_field/properties/customizable_type" eq: "$ref": "#/components/schemas/resource_custom_field/properties/customizable_type" not_eq: "$ref": "#/components/schemas/resource_custom_field/properties/customizable_type" contains: "$ref": "#/components/schemas/resource_custom_field/properties/customizable_type" description: Filter using explicit operator syntax. example: eq: active description: Filter by the resource type the custom field is attached to. example: eq: active archived: oneOf: - "$ref": "#/components/schemas/resource_custom_field/properties/archived" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_custom_field/properties/archived" eq: "$ref": "#/components/schemas/resource_custom_field/properties/archived" not_contain: "$ref": "#/components/schemas/resource_custom_field/properties/archived" contains: "$ref": "#/components/schemas/resource_custom_field/properties/archived" description: Filter using explicit operator syntax. example: true description: Filter by whether the custom field is archived. example: true project_id: oneOf: - "$ref": "#/components/schemas/resource_custom_field/properties/project_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_custom_field/properties/project_id" eq: "$ref": "#/components/schemas/resource_custom_field/properties/project_id" contains: "$ref": "#/components/schemas/resource_custom_field/properties/project_id" not_eq: "$ref": "#/components/schemas/resource_custom_field/properties/project_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated project. example: - 123 show_in_add_edit_views: oneOf: - "$ref": "#/components/schemas/resource_custom_field/properties/show_in_add_edit_views" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_custom_field/properties/show_in_add_edit_views" contains: "$ref": "#/components/schemas/resource_custom_field/properties/show_in_add_edit_views" not_contain: "$ref": "#/components/schemas/resource_custom_field/properties/show_in_add_edit_views" not_eq: "$ref": "#/components/schemas/resource_custom_field/properties/show_in_add_edit_views" description: Filter using explicit operator syntax. example: eq: value description: Filter by whether the custom field is shown in add/edit views. example: eq: value global: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_custom_field/properties/global" contains: "$ref": "#/components/schemas/resource_custom_field/properties/global" not_contain: "$ref": "#/components/schemas/resource_custom_field/properties/global" not_eq: "$ref": "#/components/schemas/resource_custom_field/properties/global" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_custom_field/properties/global" description: Filter by whether the custom field is global (applies to all records of its type). example: eq: value survey_id: oneOf: - "$ref": "#/components/schemas/resource_custom_field/properties/survey_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_custom_field/properties/survey_id" eq: "$ref": "#/components/schemas/resource_custom_field/properties/survey_id" not_eq: "$ref": "#/components/schemas/resource_custom_field/properties/survey_id" contains: "$ref": "#/components/schemas/resource_custom_field/properties/survey_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the associated survey. example: - 123 patternProperties: {} description: Filter parameters for listing custom fields. Supports filtering by customizable type (task, deal, person, etc.), project, section, name, archived status, and data type. Standard string and ID operators apply. example: id: eq: '123' resource_bank_account: type: object title: Bank account Resource properties: subsidiary: title: Subsidiary description: The subsidiary this bank account belongs to. example: eq: value bank_address: type: string title: Bank Address description: The physical address of the bank associated with this account. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: The current status of the bank account (e.g. active or archived). example: eq: active name: type: string title: Name description: The display name of the bank account. example: eq: value id: type: integer title: Id description: Unique identifier for the bank account. example: - 123 swift_code: type: string title: Swift Code description: The SWIFT/BIC code identifying the bank in international transactions. example: eq: value currency: type: string title: Currency description: The ISO 4217 currency code for this bank account (e.g. USD, EUR). example: eq: value number: type: string title: Number description: The bank account number (IBAN or local account number). example: eq: value organization: title: Organization description: The organization this bank account belongs to. example: eq: value subsidiary_id: type: integer title: Subsidiary description: The ID of the subsidiary this bank account belongs to. example: - 123 bank_name: type: string title: Bank Name description: The name of the bank associated with this account. example: eq: value archived_at: type: string title: Archived At format: date-time description: Timestamp when the bank account was archived, or null if active. example: gt: '2026-01-01' description: A bank account linked to a subsidiary, storing bank name, account number, currency, and SWIFT details. example: id: '5' type: bank_accounts attributes: name: Main Business Account iban: DE89370400440532013000 bic: COBADEFFXXX bank_name: Commerzbank currency: EUR created_at: '2026-01-01T00:00:00.000+00:00' relationships: subsidiary: data: type: subsidiaries id: '2' _filter_root_survey_field_option: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_survey_field_option" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_survey_field_option" description: Filter schema for `survey_field_option` list endpoints — pass a single condition or a logical group. example: id: eq: '123' _filter_root_payroll_item_report: oneOf: - "$ref": "#/components/schemas/filter_payroll_item_report" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_payroll_item_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `payroll_item_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_deal_cost_rate: type: object title: Filter deal cost rate properties: person_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/person_id" contains: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/person_id" eq: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/person_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_deal_cost_rate/properties/person_id" description: Filter by person ID. example: - 123 deal_id: oneOf: - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/deal_id" eq: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/deal_id" not_contain: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/deal_id" not_eq: "$ref": "#/components/schemas/resource_deal_cost_rate/properties/deal_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_deal_cost_rate/properties/deal_id" description: Filter by deal ID. example: - 123 patternProperties: {} description: Filter parameters for querying deal cost rates. example: id: eq: '123' filter_activity: type: object title: Filter activity properties: invoice_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_activity/properties/invoice_id" not_eq: "$ref": "#/components/schemas/resource_activity/properties/invoice_id" eq: "$ref": "#/components/schemas/resource_activity/properties/invoice_id" contains: "$ref": "#/components/schemas/resource_activity/properties/invoice_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_activity/properties/invoice_id" description: Filter activities related to a specific invoice. example: - 123 deal_id: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/deal_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_activity/properties/deal_id" eq: "$ref": "#/components/schemas/resource_activity/properties/deal_id" not_eq: "$ref": "#/components/schemas/resource_activity/properties/deal_id" not_contain: "$ref": "#/components/schemas/resource_activity/properties/deal_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter activities related to a specific deal or budget. example: - 123 before: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_activity/properties/before" not_contain: "$ref": "#/components/schemas/resource_activity/properties/before" eq: "$ref": "#/components/schemas/resource_activity/properties/before" contains: "$ref": "#/components/schemas/resource_activity/properties/before" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_activity/properties/before" description: Return activities created before this timestamp. example: eq: value task_id: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/task_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_activity/properties/task_id" contains: "$ref": "#/components/schemas/resource_activity/properties/task_id" eq: "$ref": "#/components/schemas/resource_activity/properties/task_id" not_eq: "$ref": "#/components/schemas/resource_activity/properties/task_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter activities related to a specific task. example: - 123 company_id: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/company_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_activity/properties/company_id" contains: "$ref": "#/components/schemas/resource_activity/properties/company_id" eq: "$ref": "#/components/schemas/resource_activity/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_activity/properties/company_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter activities related to a specific company. example: - 123 discussion_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_activity/properties/discussion_id" not_contain: "$ref": "#/components/schemas/resource_activity/properties/discussion_id" eq: "$ref": "#/components/schemas/resource_activity/properties/discussion_id" contains: "$ref": "#/components/schemas/resource_activity/properties/discussion_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_activity/properties/discussion_id" description: Filter activities related to a specific doc discussion. example: - 123 root_type: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/root_type" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_activity/properties/root_type" not_eq: "$ref": "#/components/schemas/resource_activity/properties/root_type" eq: "$ref": "#/components/schemas/resource_activity/properties/root_type" contains: "$ref": "#/components/schemas/resource_activity/properties/root_type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by the top-level resource type the activity is nested under (e.g. project, deal). example: eq: active item_type: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_activity/properties/item_type" not_contain: "$ref": "#/components/schemas/resource_activity/properties/item_type" eq: "$ref": "#/components/schemas/resource_activity/properties/item_type" contains: "$ref": "#/components/schemas/resource_activity/properties/item_type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_activity/properties/item_type" description: Filter by the resource type of the changed entity (e.g. "task", "deal"). example: eq: active event: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/event" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_activity/properties/event" eq: "$ref": "#/components/schemas/resource_activity/properties/event" contains: "$ref": "#/components/schemas/resource_activity/properties/event" not_eq: "$ref": "#/components/schemas/resource_activity/properties/event" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Filter by event type (e.g. create, update, destroy). example: eq: value participant_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_activity/properties/participant_id" not_eq: "$ref": "#/components/schemas/resource_activity/properties/participant_id" eq: "$ref": "#/components/schemas/resource_activity/properties/participant_id" contains: "$ref": "#/components/schemas/resource_activity/properties/participant_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_activity/properties/participant_id" description: Filter activities where this person participated (as creator, email recipient, or subject). example: - 123 creator_id: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/creator_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_activity/properties/creator_id" eq: "$ref": "#/components/schemas/resource_activity/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_activity/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_activity/properties/creator_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by the person who created the activity. example: - 123 after: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_activity/properties/after" contains: "$ref": "#/components/schemas/resource_activity/properties/after" eq: "$ref": "#/components/schemas/resource_activity/properties/after" not_contain: "$ref": "#/components/schemas/resource_activity/properties/after" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value - "$ref": "#/components/schemas/resource_activity/properties/after" description: Return activities created after this timestamp. example: eq: value parent_type: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_activity/properties/parent_type" not_contain: "$ref": "#/components/schemas/resource_activity/properties/parent_type" contains: "$ref": "#/components/schemas/resource_activity/properties/parent_type" not_eq: "$ref": "#/components/schemas/resource_activity/properties/parent_type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_activity/properties/parent_type" description: Filter by the resource type of the activity's immediate parent (e.g. task, project). example: eq: active proposal_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_activity/properties/proposal_id" eq: "$ref": "#/components/schemas/resource_activity/properties/proposal_id" not_contain: "$ref": "#/components/schemas/resource_activity/properties/proposal_id" contains: "$ref": "#/components/schemas/resource_activity/properties/proposal_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 - "$ref": "#/components/schemas/resource_activity/properties/proposal_id" description: Filter activities related to a specific proposal (includes both direct and parent-linked activities). example: - 123 resource_request_id: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/resource_request_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_activity/properties/resource_request_id" not_eq: "$ref": "#/components/schemas/resource_activity/properties/resource_request_id" contains: "$ref": "#/components/schemas/resource_activity/properties/resource_request_id" not_contain: "$ref": "#/components/schemas/resource_activity/properties/resource_request_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter activities on a specific resource request. example: - 123 booking_id: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/booking_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_activity/properties/booking_id" eq: "$ref": "#/components/schemas/resource_activity/properties/booking_id" not_eq: "$ref": "#/components/schemas/resource_activity/properties/booking_id" not_contain: "$ref": "#/components/schemas/resource_activity/properties/booking_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter activities related to a specific booking. example: - 123 has_attachments: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/has_attachments" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_activity/properties/has_attachments" contains: "$ref": "#/components/schemas/resource_activity/properties/has_attachments" eq: "$ref": "#/components/schemas/resource_activity/properties/has_attachments" not_eq: "$ref": "#/components/schemas/resource_activity/properties/has_attachments" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Return only activities that have file attachments. example: gt: '2026-01-01' id: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_activity/properties/id" not_contain: "$ref": "#/components/schemas/resource_activity/properties/id" not_eq: "$ref": "#/components/schemas/resource_activity/properties/id" eq: "$ref": "#/components/schemas/resource_activity/properties/id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter by activity ID. example: - 123 project_id: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/project_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_activity/properties/project_id" eq: "$ref": "#/components/schemas/resource_activity/properties/project_id" contains: "$ref": "#/components/schemas/resource_activity/properties/project_id" not_contain: "$ref": "#/components/schemas/resource_activity/properties/project_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter activities related to a specific project. example: - 123 purchase_order_id: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" contains: "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" not_contain: "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" eq: "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: - 1234567 - "$ref": "#/components/schemas/resource_activity/properties/purchase_order_id" description: Filter activities on a specific purchase order. example: eq: - 1234567 created_at: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/created_at" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_activity/properties/created_at" not_eq: "$ref": "#/components/schemas/resource_activity/properties/created_at" eq: "$ref": "#/components/schemas/resource_activity/properties/created_at" not_contain: "$ref": "#/components/schemas/resource_activity/properties/created_at" description: Operator object — supports eq, not_eq, contains, not_contain. example: gt: '2026-01-01' description: Filter by creation date range (`created_at`). example: gt: '2026-01-01' person_id: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/person_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_activity/properties/person_id" contains: "$ref": "#/components/schemas/resource_activity/properties/person_id" eq: "$ref": "#/components/schemas/resource_activity/properties/person_id" not_eq: "$ref": "#/components/schemas/resource_activity/properties/person_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter activities related to a specific person. example: - 123 expense_id: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/expense_id" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_activity/properties/expense_id" not_contain: "$ref": "#/components/schemas/resource_activity/properties/expense_id" contains: "$ref": "#/components/schemas/resource_activity/properties/expense_id" eq: "$ref": "#/components/schemas/resource_activity/properties/expense_id" description: Operator object — supports eq, not_eq, contains, not_contain. example: - 123 description: Filter activities related to a specific expense. example: - 123 pinned: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/pinned" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_activity/properties/pinned" eq: "$ref": "#/components/schemas/resource_activity/properties/pinned" not_contain: "$ref": "#/components/schemas/resource_activity/properties/pinned" contains: "$ref": "#/components/schemas/resource_activity/properties/pinned" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: value description: Return only activities with pinned comments. example: eq: value normalized_item_type: oneOf: - "$ref": "#/components/schemas/resource_activity/properties/normalized_item_type" - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_activity/properties/normalized_item_type" not_contain: "$ref": "#/components/schemas/resource_activity/properties/normalized_item_type" contains: "$ref": "#/components/schemas/resource_activity/properties/normalized_item_type" eq: "$ref": "#/components/schemas/resource_activity/properties/normalized_item_type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active description: Filter by normalized resource type, distinguishing between deals and budgets. example: eq: active type: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_activity/properties/type" not_eq: "$ref": "#/components/schemas/resource_activity/properties/type" not_contain: "$ref": "#/components/schemas/resource_activity/properties/type" contains: "$ref": "#/components/schemas/resource_activity/properties/type" description: Operator object — supports eq, not_eq, contains, not_contain. example: eq: active - "$ref": "#/components/schemas/resource_activity/properties/type" description: 'Filter by activity type: 1=Comment, 2=Changeset (field change), 3=Email.' example: eq: active patternProperties: {} description: Available filter parameters for querying activity feed records. example: created_at: gt: '2026-01-01' resource_session: type: object title: Session Resource properties: agent_first_name: title: Agent First Name description: The first name of the agent (admin) who created this session on behalf of the user, or null if the user created it themselves. example: eq: value platform: type: string title: Platform description: The operating system platform detected from the device used to create this session. example: eq: value token: title: Token description: The API access token for authenticating requests in this session. example: eq: value creator_id: type: integer title: Creator description: ID of the user who created this session (typically the same as user_id, unless created by an agent). example: - 123 two_factor_auth: type: boolean title: Two Factor Auth description: When true, two-factor authentication has been verified for this session. example: eq: value cordova_device_platform: title: Cordova Device Platform description: The platform of the Cordova (mobile) device (e.g. iOS or Android) used to create this session. example: eq: value browser: type: string title: Browser description: The browser used to create this session, as detected from the user agent string. example: eq: value location: type: string title: Location description: The geographic location associated with the last IP address used in this session. example: eq: value agent_avatar: title: Agent Avatar description: The avatar URL of the agent (admin) who created this session on behalf of the user, if applicable. example: eq: value single_sign_on: type: boolean title: Single Sign On description: Whether this session was authenticated via Single Sign-On. example: eq: value note: type: string title: Note description: An optional note describing the purpose of this session or API token. example: eq: value cordova_device_version: title: Cordova Device Version description: The OS version of the Cordova (mobile) device used to create this session. example: eq: value last_ip: type: string title: Last Ip description: The IP address from which this session was last used. example: eq: value token_expires_at: type: string title: Token Expires At format: date-time description: Timestamp when this session's token expires, or null if the session does not expire. example: gt: '2026-01-01' cordova_device_uid: title: Cordova Device Uid description: The unique device identifier of the Cordova (mobile) device used to create this session. example: eq: value agent_last_name: title: Agent Last Name description: The last name of the agent (admin) who created this session on behalf of the user, or null if the user created it themselves. example: eq: value read_only: type: boolean title: Read Only description: When true, this session has read-only access and cannot make changes. example: eq: value cordova_device_model: title: Cordova Device Model description: The model of the Cordova (mobile) device used to create this session. example: eq: value app_version: title: App Version description: The version of the Productive app used when this session was created. example: eq: value firebase_token: title: Firebase Token description: The Firebase push notification token for this session, used for mobile push notifications. example: eq: value user: title: User description: The user this session belongs to. example: eq: value name: type: string title: Name description: A user-assigned label for this session, used to identify API tokens or machine sessions. example: eq: value id: title: Id description: The unique identifier of this session. example: - 123 last_activity_at: type: string title: Last Activity At format: date-time description: Timestamp of the last request made in this session. example: gt: '2026-01-01' device: type: string title: Device description: The type of device used to create this session, such as desktop or mobile. example: eq: value user_id: type: integer title: User description: ID of the user this session belongs to. example: - 123 machine: type: boolean title: Machine description: When true, this session belongs to a machine (API token) rather than an interactive user session. example: eq: value description: An API access token session for a user, tracking device, browser, and IP information. example: id: '86742' type: sessions attributes: name: cli note: user_id: 28 token: 33af9e27-d29d-4d73-bc5b-0aa48973178f last_ip: 185.18.61.34 location: Zagreb, City of Zagreb, Croatia, Europe device: platform: Macintosh browser: Chrome machine: true read_only: false last_activity_at: '2024-08-13T14:14:08.119+02:00' token_expires_at: two_factor_auth: false single_sign_on: false agent_first_name: agent_last_name: agent_avatar: relationships: user: meta: included: false resource_exchange_rate: type: object title: Exchange rate Resource properties: out_of_date: type: boolean title: Out Of Date description: Whether these exchange rates are flagged as out of date and may not reflect current market rates. example: gt: '2026-01-01' date: type: string title: Date format: date description: The date for which these exchange rates are valid. example: gt: '2026-01-01' rates: type: string title: Rates description: An array of currency conversion rates, each with a base currency, target currency, and the corresponding rate value. example: gt: 0 description: A set of currency exchange rates for a specific date, used to convert amounts between currencies. example: id: '123' type: exchange_rates attributes: from_currency: EUR to_currency: USD rate: 1.08 date: '2026-01-15' relationships: {} resource_approval_policy: type: object title: Approval policy Resource properties: default: type: boolean title: Default description: Indicates whether this is the default approval policy for its type. example: eq: value type_id: enum: - 1 - 2 - 3 type: integer title: Type description: 'Numeric identifier for the approval policy type: 1 = absence, 2 = budget, 3 = deal.' example: - 123 custom: type: boolean title: Custom description: Indicates whether this is a custom approval policy created for a specific assignment. example: eq: value archived_at: type: string title: Archived At format: date-time description: Timestamp when the approval policy was archived, or null if active. example: gt: '2026-01-01' name: type: string title: Name description: The display name of the approval policy. example: eq: value status: enum: - 1 - 2 type: integer title: Status description: The current status of the approval policy (e.g. active or archived). example: eq: active organization: title: Organization description: The organization this approval policy belongs to. example: eq: value description: Approval policy defining who approves time entries, absences, or expenses. Configures the set of approvers and whether unanimous approval is required. Auto-creates approval_status records for each approver when a submission is made. example: id: '7' type: approval_policies attributes: name: Time Entry Approval policy_type: time_entry created_at: '2026-01-01T00:00:00.000+00:00' relationships: {} resource_integration: type: object title: Integration Resource properties: bamboo_default_subsidiary_id: type: integer title: Bamboo Default Subsidiary description: Default subsidiary ID to assign to people imported from BambooHR. example: - 123 tax_rate_mapping: title: Tax Rate Mapping description: Mapping of Productive tax rates to tax codes in the integrated accounting system. example: gt: 0 salesforce_default_subsidiary_id: type: integer title: Salesforce Default Subsidiary description: The default NetSuite subsidiary ID to use when syncing records via this Salesforce integration. example: - 123 bamboo_enable_user_provisioning: title: Bamboo Enable User Provisioning description: The bamboo enable user provisioning. example: eq: value xero_default_purchase_order_account_code: title: Xero Default Purchase Order Account Code description: Default account code for purchase orders exported to Xero. example: '200' redirect_uri: title: Redirect Uri description: The OAuth redirect URI used during the authorization flow for this integration. example: eq: value export_expense_attachment: title: Export Expense Attachment description: Whether to attach PDF files when exporting expense receipts. example: gt: '2026-01-01' jira_organization: type: string title: Jira Organization description: Jira organization name or key this integration is connected to. example: eq: value economic_export_subject: title: Economic Export Subject description: Subject line template for invoices exported to e-conomic. example: eq: value salesforce_subsidiary_field: title: Salesforce Subsidiary Field description: The Salesforce field used to determine the subsidiary for synced records. example: value xero_purchase_order_status_id: type: integer title: Xero Purchase Order Status description: The xero purchase order status id. example: 1 exact_ledger_mapping: title: Exact Ledger Mapping description: Mapping of Productive accounts to Exact ledger codes. example: eq: value item_mapping: title: Item Mapping description: A mapping of Productive service types to integration item codes used when exporting invoices. example: eq: value update_invoice_sent_status: title: Update Invoice Sent Status description: The update invoice sent status. example: eq: active request_token: type: string title: Request Token description: OAuth request token used during the authorization flow (non-SSO integrations). example: eq: value exact_default_ledger: title: Exact Default Ledger description: Default ledger account code for Exact Online exports. example: eq: value hubspot_default_company_id: type: integer title: Hubspot Default Company description: The hubspot default company id. example: - 123 netsuite_line_item_fixed_value_mapping: title: Netsuite Line Item Fixed Value Mapping description: Fixed value mappings applied to NetSuite line items during sync, overriding field-level mappings. example: eq: value hubspot_default_deal_owner_id: type: integer title: Hubspot Default Deal Owner description: The hubspot default deal owner id. example: - 123 quickbooks_default_expense_bank_account_code: title: Quickbooks Default Expense Bank Account Code description: The quickbooks default expense bank account code. example: gt: 0 salesforce_product_family_mapping: title: Salesforce Product Family Mapping description: Mapping of Salesforce product families to Productive service types. example: eq: value options: type: string title: Options description: Raw options hash containing integration-specific configuration settings. example: eq: value calendar_write_options: title: Calendar Write Options description: Additional write options for calendar event sync. example: eq: value netsuite_item_mapping: title: Netsuite Item Mapping description: A mapping of Productive service types to NetSuite item IDs used when exporting invoices. example: eq: value subsidiary: title: Subsidiary description: The subsidiary this integration is scoped to, if the integration is linked to a specific subsidiary. example: eq: value account_code_mapping: title: Account Code Mapping description: A mapping of Productive service types to accounting account codes used when exporting invoices to the integration. example: gt: 0 netsuite_invoice_form_id: type: integer title: Netsuite Invoice Form description: The netsuite invoice form id. example: - 123 exact_divisions: title: Exact Divisions description: List of available Exact divisions for the authenticated user. example: eq: value hubspot_stages_mapping: title: Hubspot Stages Mapping description: Mapping of HubSpot pipeline stages to Productive deal statuses. example: eq: value netsuite_credit_note_form_id: type: integer title: Netsuite Credit Note Form description: The NetSuite form ID to use when creating credit notes during sync. example: - 123 twinfield_offices: title: Twinfield Offices description: The list of Twinfield offices (companies) available under this integration. example: eq: value requested_at: type: string title: Requested At format: date-time description: Timestamp when OAuth authorization was requested. example: gt: '2026-01-01' project: title: Project description: The project this integration is scoped to, if the integration is linked to a specific project. example: eq: value sage_ledger_mapping: title: Sage Ledger Mapping description: Mapping of Productive account types to Sage ledger codes. example: eq: value sage_intacct_entities: title: Sage Intacct Entities description: List of Sage Intacct entities (subsidiaries) available for this integration. example: eq: value netsuite_project_field_mapping: title: Netsuite Project Field Mapping description: The netsuite project field mapping. example: eq: value quickbooks_default_expense_account_code: title: Quickbooks Default Expense Account Code description: The quickbooks default expense account code. example: gt: 0 payments_import: title: Payments Import description: When true, payments are imported from the integration into Productive. example: eq: value twinfield_ledger_mapping: title: Twinfield Ledger Mapping description: A mapping of Productive service types to Twinfield ledger account codes used when exporting invoices. example: eq: value fortnox_default_article: title: Fortnox Default Article description: Default article number used in Fortnox invoice lines. example: eq: value sage_intacct_export_project: title: Sage Intacct Export Project description: Whether to export project records to Sage Intacct. example: eq: value xero_organizations: title: Xero Organizations description: List of available Xero organizations for the authenticated user. example: eq: value force_sso_login: type: boolean title: Force Sso Login description: Whether SSO login is enforced for all users in the organization. example: eq: value import_number: title: Import Number description: When true, invoice numbers from the external integration are imported into Productive. example: eq: value deal_id: type: integer title: Deal description: ID of the deal this integration is scoped to. example: - 123 salesforce_stage_id: type: integer title: Salesforce Stage description: The Salesforce stage ID used to identify deals when syncing opportunities. example: 123 customer_memo_cf_id: type: integer title: Customer Memo Cf description: The customer memo cf id. example: - 123 netsuite_sales_order_field_mapping: title: Netsuite Sales Order Field Mapping description: The netsuite sales order field mapping. example: eq: value xero_default_expense_account_code: title: Xero Default Expense Account Code description: Default account code for expenses exported to Xero. example: gt: 0 realm_id: type: string title: Realm description: Realm or tenant identifier used by some integrations (e.g. Xero organization ID, Exact division). example: - 123 use_companies_export: title: Use Companies Export description: Whether to export company records to the integrated accounting system. example: eq: value salesforce_subsidiary_mapping: title: Salesforce Subsidiary Mapping description: Mapping of Salesforce subsidiary values to Productive subsidiaries. example: value xero_organization_id: type: integer title: Xero Organization description: Xero organization ID (tenant ID) this integration is connected to. example: - 123 connected_at: type: string title: Connected At format: date-time description: Timestamp when the integration was successfully authenticated and connected. example: gt: '2026-01-01' created_at: title: Created At description: Timestamp when the integration was created. example: gt: '2026-01-01' fortnox_article_mapping: title: Fortnox Article Mapping description: Mapping of Productive services to Fortnox article numbers. example: eq: value netsuite_sales_order_form_id: type: integer title: Netsuite Sales Order Form description: The netsuite sales order form id. example: - 123 twinfield_default_cost_center: title: Twinfield Default Cost Center description: The twinfield default cost center. example: eq: value netsuite_customer_form_id: type: integer title: Netsuite Customer Form description: The netsuite customer form id. example: - 123 hubspot_default_template_id: type: integer title: Hubspot Default Template description: Default project template ID to use when creating projects from HubSpot deals. example: - 123 calendar_write_status: title: Calendar Write Status description: Whether events can be written back to Google Calendar (read-only or read-write). example: eq: active salesforce_default_service_type_id: type: integer title: Salesforce Default Service Type description: The ID of the default service type used when creating Productive services from Salesforce opportunities. example: - 123 sage_intacct_account_code: title: Sage Intacct Account Code description: Default revenue account code for Sage Intacct exports. example: gt: 0 deactivated_at: type: string title: Deactivated At format: date-time description: Timestamp when the integration was deactivated, or null if currently active. example: gt: '2026-01-01' netsuite_default_item: title: Netsuite Default Item description: The default NetSuite item used when no specific item mapping matches during invoice export. example: eq: value sso_metadata: title: Sso Metadata description: Raw SAML metadata XML from the identity provider. example: eq: value exact_division: title: Exact Division description: Exact division ID (deprecated, use exact_division_id). example: eq: value client_id: type: integer title: Client description: The OAuth client ID used to authenticate this integration with the external service. example: - 123 bamboo_workplace_field: title: Bamboo Workplace Field description: The BambooHR custom field used to determine the workplace or office of each employee. example: eq: value twinfield_default_ledger: title: Twinfield Default Ledger description: The default Twinfield ledger account used when no specific ledger mapping matches during export. example: eq: value netsuite_invoice_fixed_value_mapping: title: Netsuite Invoice Fixed Value Mapping description: Fixed value mappings applied to NetSuite invoices during sync, overriding field-level mappings. example: eq: value expense_account_code_mapping: title: Expense Account Code Mapping description: Mapping of expense categories to account codes in the accounting integration. example: gt: 0 bamboo_enable_cost_rates: title: Bamboo Enable Cost Rates description: Whether to import cost rates from BambooHR. example: gt: 0 xero_expense_status_id: type: integer title: Xero Expense Status description: The xero expense status id. example: - 123 deal: title: Deal description: The deal this integration is scoped to, if the integration is linked to a specific deal. example: eq: value exact_default_journal: title: Exact Default Journal description: Default journal code used for Exact Online exports. example: eq: value export_number: title: Export Number description: Whether to export sequential invoice numbers to the integrated accounting system. example: eq: value bamboo_custom_field_mapping: title: Bamboo Custom Field Mapping description: Mapping of BambooHR custom fields to Productive person attributes. example: eq: value request_uri: type: string title: Request Uri description: OAuth callback URI used during the authorization flow (non-SSO integrations). example: eq: value calendars: title: Calendars description: List of Google Calendar IDs synced with this integration. example: eq: value quickbooks_default_expense_payment_type: title: Quickbooks Default Expense Payment Type description: The quickbooks default expense payment type. example: eq: active economic_product_mapping: title: Economic Product Mapping description: Mapping of Productive products to e-conomic products. example: eq: value last_synced_at: type: string title: Last Synced At format: date-time description: Timestamp of the last successful data sync. example: gt: '2026-01-01' xero_invoice_status_id: type: integer title: Xero Invoice Status description: The xero invoice status id. example: - 123 project_status: type: integer title: Project Status description: Status filter for the linked project. example: eq: active sage_default_ledger: title: Sage Default Ledger description: Default ledger account code for Sage 50/Business Cloud exports. example: eq: value netsuite_line_item_field_mapping: title: Netsuite Line Item Field Mapping description: The netsuite line item field mapping. example: eq: value twinfield_project_mapping: title: Twinfield Project Mapping description: A mapping of Productive projects to Twinfield project codes used when exporting invoices. example: eq: value subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this integration is associated with. example: - 123 netsuite_customer_fixed_value_mapping: title: Netsuite Customer Fixed Value Mapping description: Fixed value mappings applied to NetSuite customer records during sync, overriding field-level mappings. example: eq: value default_product: title: Default Product description: The default product used when no specific item mapping matches during invoice export. example: eq: value jira_project: type: string title: Jira Project description: Jira project key this integration syncs tasks with. example: eq: value import_attachment: title: Import Attachment description: When true, invoice PDF attachments are imported from the integration. example: gt: '2026-01-01' netsuite_invoice_field_mapping: title: Netsuite Invoice Field Mapping description: The netsuite invoice field mapping. example: eq: value fortnox_default_account: title: Fortnox Default Account description: Default account code used when exporting invoices to Fortnox. example: gt: 0 twinfield_cost_center_mapping: title: Twinfield Cost Center Mapping description: The twinfield cost center mapping. example: eq: value id: title: Id description: Unique identifier of the integration. example: - 123 bamboo_enable_time_offs: title: Bamboo Enable Time Offs description: Whether to sync time-off records from BambooHR. example: gt: 0 export_purchase_order_number: title: Export Purchase Order Number description: Whether to export purchase order numbers to Xero. example: PO-2024-017 sso_metadata_url: title: Sso Metadata Url description: URL to the identity provider SAML metadata document. example: eq: value quickbooks_memo: title: Quickbooks Memo description: The QuickBooks memo field value added to exported invoices. example: eq: value account_code: type: string title: Account Code description: Default account code used when exporting financial data to the integrated system. example: gt: 0 sage_country: title: Sage Country description: Country code of the Sage organization. example: gt: 0 sso_target_url: title: Sso Target Url description: SSO target URL for SAML-initiated login. example: eq: value netsuite_customer_field_mapping: title: Netsuite Customer Field Mapping description: The netsuite customer field mapping. example: eq: value sage_business_name: title: Sage Business Name description: Legal business name registered in Sage. example: eq: value integration_type_id: enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 28 - 29 - 30 - 31 type: integer title: Integration Type description: ID of the integration type (e.g. Jira, Slack, QuickBooks, Xero). example: - 123 twinfield_default_project: title: Twinfield Default Project description: The default Twinfield project used when no specific project mapping matches during export. example: eq: value sage_intacct_account_code_mapping: title: Sage Intacct Account Code Mapping description: Mapping of Productive account types to Sage Intacct account codes. example: gt: 0 netsuite_project_form_id: type: integer title: Netsuite Project Form description: The netsuite project form id. example: - 123 slack_options: title: Slack Options description: Configuration options for the Slack integration, including notification settings, status sync, and event subscriptions. example: eq: value hubspot_sync_deals: title: Hubspot Sync Deals description: Whether to sync HubSpot deals to Productive. example: eq: value organization: title: Organization description: The organization this integration belongs to. example: eq: value all_folders: title: All Folders description: When true, the integration syncs all folders rather than a selected subset. example: eq: value salesforce_project_template_id: type: integer title: Salesforce Project Template description: The ID of the Productive project template to use when creating projects from Salesforce opportunities. example: - 123 xero_reference: title: Xero Reference description: The Xero reference field value added to exported invoices. example: eq: value name: type: string title: Name description: Display name of the integration. example: eq: value xero_internal_note_cf_id: type: integer title: Xero Internal Note Cf description: The xero internal note cf id. example: - 123 use_expenses_in_xero: title: Use Expenses In Xero description: Whether to sync expense records to Xero. example: eq: value hubspot_pipelines: title: Hubspot Pipelines description: List of HubSpot pipeline IDs to sync with Productive. example: eq: value hubspot_default_subsidiary_id: type: integer title: Hubspot Default Subsidiary description: Default subsidiary ID to assign to deals imported from HubSpot. example: - 123 netsuite_default_subsidiary_id: type: integer title: Netsuite Default Subsidiary description: The netsuite default subsidiary id. example: - 123 twinfield_invoice_destiny: title: Twinfield Invoice Destiny description: The Twinfield invoice destiny code that determines where exported invoices are posted in Twinfield. example: eq: value fortnox_account_mapping: title: Fortnox Account Mapping description: Mapping of Productive account types to Fortnox account codes. example: gt: 0 sso_url: title: Sso Url description: SSO login URL provided by the identity provider. example: eq: value use_purchase_orders_export: title: Use Purchase Orders Export description: Whether to export purchase orders to Xero. example: true default_item: title: Default Item description: The default account code used when no specific item mapping matches during invoice export. example: eq: value project_id: type: integer title: Project description: ID of the project this integration is linked to. example: - 123 sage_intacct_project_category: title: Sage Intacct Project Category description: Project category used for Sage Intacct time entry exports. example: eq: active netsuite_attach_timesheet: title: Netsuite Attach Timesheet description: When true, the integration attaches a timesheet PDF to NetSuite invoices on export. example: gt: '2026-01-01' export_attachment: title: Export Attachment description: Whether to attach PDF files when exporting invoices. example: gt: '2026-01-01' bamboo_workplace_mapping: title: Bamboo Workplace Mapping description: A mapping of BambooHR workplace field values to Productive subsidiaries. example: eq: value folders: title: Folders description: List of Productive folders synced with the integrated storage or project tool. example: eq: value exact_division_id: type: integer title: Exact Division description: Exact division ID this integration is connected to. example: - 123 purchase_order_account_code_mapping: title: Purchase Order Account Code Mapping description: The purchase order account code mapping. example: '200': '47890' '300': '47891' netsuite_relationship_mapping: title: Netsuite Relationship Mapping description: A mapping of Productive company relationships to NetSuite record types or fields. example: eq: value exact_country: title: Exact Country description: Country code for the Exact Online entity. example: gt: 0 use_expense_sync: title: Use Expense Sync description: Whether to sync expense records to the connected invoicing system. example: eq: value creator: title: Creator description: The person who created this integration. example: eq: value exact_ledger_manually: title: Exact Ledger Manually description: Whether to assign ledger codes manually rather than via automatic mapping. example: eq: value use_invoices_export: title: Use Invoices Export description: Whether to export invoices to Xero. example: eq: value google_events_write_scope: title: Google Events Write Scope description: OAuth scope for writing events to Google Calendar. example: eq: value netsuite_invoice_pdf_source: title: Netsuite Invoice Pdf Source description: The source used to generate the invoice PDF in NetSuite (e.g., NetSuite-generated or Productive-generated). example: eq: value description: A third-party integration connection (e.g. Jira, Slack, QuickBooks) with sync configuration, field mappings, and authentication settings. example: id: '123' type: integrations attributes: provider: jira status: active synced_at: '2026-01-15T08:00:00Z' settings: {} relationships: {} resource_booking: type: object title: Booking Resource properties: status: title: Status description: The current approval status of the booking (e.g. pending, approved, rejected). example: eq: active budget_id: type: integer title: Budget description: ID of the budget (deal) associated with the booking's service. example: - 123 after: type: string title: After format: date description: Internal field used for date-range filtering. example: eq: value started_on: type: string title: Started On format: date description: The start date of the booking. example: eq: value time: type: integer title: Time description: The booked time in minutes per day. example: gt: 0 approver: title: Approver description: The person who approved this booking. example: eq: value rejected_at: type: string title: Rejected At format: date-time description: Date when the booking was rejected. example: gt: '2026-01-01' resource_request_id: type: integer title: Resource Request description: ID of the resource request this booking fulfills. example: - 123 total_working_days: type: integer title: Total Working Days description: The total number of working days covered by this booking. example: eq: value approved_at: type: string title: Approved At format: date-time description: Timestamp when the booking was approved, or null if not yet approved. example: gt: '2026-01-01' approval_statuses: title: Approval Statuses description: Per-approver approval status records for this booking. example: eq: active billing_type_id: enum: - 1 - 2 - 3 - 4 type: integer title: Billing Type description: ID of the billing type of the associated service. example: - 123 resource_request: title: Resource Request description: The resource request this booking fulfills, if applicable. example: eq: value draft: type: boolean title: Draft description: Whether the booking is tentative (draft) or confirmed. example: eq: value total_time: type: integer title: Total Time description: The total booked time in minutes across the entire booking period. example: gt: 0 custom_field_people: title: Custom Field People description: People linked via custom fields on this booking. example: eq: value approved: title: Approved description: Indicates whether the booking has been approved. example: eq: value person: title: Person description: The person assigned to this booking. example: eq: value event: title: Event description: The absence event category (e.g. vacation, sick leave) for absence bookings. example: eq: value attachments: title: Attachments description: Files attached to this booking. example: eq: value origin: title: Origin description: The booking origin (e.g. the resource request that generated this booking). example: eq: value creator: title: Creator description: The person who created this booking. example: eq: value people_custom_fields: type: string title: People Custom Fields description: Custom field values defined on the assigned person. example: eq: value before: type: string title: Before format: date description: Internal field used for date-range filtering. example: eq: value task: title: Task description: The task associated with this booking, if applicable. example: eq: value service: title: Service description: The budget service being scheduled in this booking. example: eq: value use_salary_currency: type: boolean title: Use Salary Currency description: When true, cost calculations use the person's salary currency instead of the service currency. example: eq: value person_type: enum: - 1 - 2 - 3 - 4 type: integer title: Person Type description: Type of the assigned person (e.g. employee, contractor, placeholder). example: eq: active rejected_reason: type: string title: Rejected Reason description: Reason provided when the booking was rejected. example: eq: value last_activity_at: type: string title: Last Activity At format: date-time description: Timestamp of the last activity recorded on this booking. example: gt: '2026-01-01' scenario_item: title: Scenario Item description: The scenario item this booking is linked to, if created from a scenario. example: eq: value project_type: enum: - 1 - 2 type: integer title: Project Type description: Type of the associated project (e.g. billable or internal). example: eq: active person_subsidiary_id: type: integer title: Person Subsidiary description: ID of the subsidiary the assigned person belongs to. example: - 123 task_id: type: integer title: Task description: The ID of the task associated with this booking, if applicable. example: - 123 organization: title: Organization description: The organization this booking belongs to. example: eq: value with_draft: type: boolean title: With Draft description: When true, draft bookings are included in availability and planning views. example: eq: value custom_field_attachments: title: Custom Field Attachments description: File attachments linked via custom fields on this booking. example: gt: '2026-01-01' note: type: string title: Note description: An optional note or description for this booking. example: eq: value approver_id: type: integer title: Approver description: The ID of the person who approved this booking. example: - 123 origin_id: type: integer title: Origin description: The ID of the origin record (e.g. resource request) that created this booking. example: - 123 booking_type: type: string title: Booking Type description: Whether this is a project booking or an absence booking. example: eq: active updated_at: type: string title: Updated At format: date-time description: Timestamp when this booking was last updated. example: gt: '2026-01-01' tags: type: integer title: Tags description: Tags associated with this booking. example: eq: value ended_on: type: string title: Ended On format: date description: Booking end date. example: eq: value external_id: type: string title: External description: External identifier for integration with third-party systems. example: - 123 stage_type: enum: - 1 - 2 type: integer title: Stage Type description: The stage type of the booking within the resource planning workflow. example: eq: active booking_method_id: enum: - 1 - 2 - 3 type: integer title: Booking Method description: ID of the booking method used to create this booking (e.g. hours per day, percentage, total hours). example: - 123 service_id: type: integer title: Service description: The ID of the service this booking is scheduled against. example: - 123 created_at: type: string title: Created At format: date-time description: Date when the booking was created. example: gt: '2026-01-01' approval_status: enum: - 1 - 2 - 3 - 5 type: integer title: Approval Status description: Whether the booking has been approved. Reflects the overall approval_status. example: eq: active percentage: type: integer title: Percentage description: Scheduled time as a percentage of the person's daily capacity. example: eq: value person_id: type: integer title: Person description: ID of the person assigned to this booking. example: - 123 id: type: integer title: Id description: Unique identifier of the booking. example: - 123 rejected: title: Rejected description: Whether this booking has been rejected. example: eq: value event_id: type: integer title: Event description: ID of the absence event category for this booking. example: - 123 canceled_at: type: string title: Canceled At format: date-time description: Date when the booking was canceled. example: gt: '2026-01-01' project_id: type: integer title: Project description: ID of the project this booking relates to. example: - 123 custom_fields: type: object title: Custom Fields description: Custom field values for this booking. example: eq: value autotracking: type: boolean title: Autotracking description: When true, time entries are automatically tracked against this booking. example: eq: value hours: type: integer title: Hours description: Scheduled hours per day for this booking. example: eq: value updater: title: Updater description: The person who last updated this booking. example: eq: value canceled: type: boolean title: Canceled description: Whether this booking has been canceled. example: eq: value attachment_ids: title: Attachment Ids description: Array of IDs of files attached to this booking. example: - 123 - 456 rejecter: title: Rejecter description: The person who rejected this booking. example: eq: value company_id: type: integer title: Company description: ID of the client company associated with this booking. example: - 123 canceler: title: Canceler description: The person who canceled this booking. example: eq: value description: A booking represents planned work or an absence scheduled for a person, linked to a service or absence category. example: id: '1594' type: bookings attributes: hours: 8 time: 480 started_on: '2026-03-17' ended_on: '2026-03-21' total_time: 2400 total_working_days: 5 percentage: note: created_at: '2026-03-01T09:00:00.000+00:00' updated_at: '2026-03-01T09:00:00.000+00:00' people_custom_fields: {} approved: false approved_at: rejected: false rejected_reason: rejected_at: canceled: false canceled_at: booking_method_id: 1 autotracking: false draft: false custom_fields: last_activity_at: '2026-03-01T09:00:00.000+00:00' relationships: person: data: type: people id: '12' service: data: type: services id: '1856422' event: data: task: data: _filter_root_person_report: oneOf: - "$ref": "#/components/schemas/filter_person_report" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_person_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `person_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_invoice_report: type: object title: Invoice report Resource properties: payment_terms: type: integer title: Payment Terms description: Payment terms in days — number of days from the invoice date until payment is due (calculated as pay_on minus invoiced_on). example: eq: value einvoice_status: type: integer title: Einvoice Status description: The current e-invoicing status of this invoice (e.g., pending, sent, accepted, rejected). example: delivered amount: title: Amount description: Total invoice amount excluding tax, in the invoice's own currency. example: gt: 0 export_status: enum: - 1 - 2 type: integer title: Export Status description: Export status of this invoice — whether it has been copied to an external accounting system (e.g. exported or unexported). example: eq: active number: type: string title: Number description: The unique invoice number identifying this invoice. example: eq: value sent_on: type: string title: Sent On format: date description: Sent on for this invoice report group. example: eq: value fiscalization_status: type: integer title: Fiscalization Status description: The fiscalization status of this invoice for tax compliance purposes. example: eq: active purchase_order_number: type: string title: Purchase Order Number description: The client's purchase order number associated with this invoice. example: PO-2024-017 count: type: integer title: Count description: Number of invoices in this report group. example: gt: 0 invoice_paid_on: title: Invoice Paid On description: Date when this invoice was paid, surfaced as a report column. example: eq: value year: type: string title: Year description: Year grouping for this invoice report row. example: eq: value total_amount_credited: title: Total Amount Credited description: Sum of all credited amounts (excluding tax) across invoices in this report group. example: gt: 0 average_paid_in: type: integer title: Average Paid In description: Average number of days elapsed between the due date and the actual payment date across invoices in this report group. example: eq: value invoice_purchase_order_number: title: Invoice Purchase Order Number description: The client's purchase order number on this invoice, surfaced as a report column. example: PO-2024-017 total_amount_tax: title: Total Amount Tax description: Sum of amount tax across all records in this invoice report group. example: gt: 0 total_amount_paid: title: Total Amount Paid description: Sum of amount paid across all records in this invoice report group. example: gt: 0 jump_query: type: string title: Jump Query description: A simplified query string for quick navigation or linking to this report's filtered view. example: eq: value amount_tax: title: Amount Tax description: Tax amount on this invoice, in the invoice's own currency. example: gt: 0 invoice_last_activity_at: title: Invoice Last Activity At description: Timestamp of the most recent activity on the invoice associated with this report row. example: gt: '2026-01-01' total_amount_normalized: title: Total Amount Normalized description: Sum of amount in the normalized currency across all records in this invoice report group. example: gt: 0 amount_with_tax: title: Amount With Tax description: Total invoice amount including tax, in the invoice's own currency. example: gt: 0 invoice_created_at: title: Invoice Created At description: The invoice's creation timestamp, surfaced as a report column. example: gt: '2026-01-01' total_amount_with_tax_normalized: title: Total Amount With Tax Normalized description: Sum of amount with tax in the normalized currency across all records in this invoice report group. example: gt: 0 total_amount_default: title: Total Amount Default description: Sum of amount in the organization's default currency across all records in this invoice report group. example: gt: 0 query: type: string title: Query description: Text search query applied to this report — matches by invoice number or content depending on the operator used. example: eq: value invoice_subject: title: Invoice Subject description: Invoice subject for this invoice report group. example: eq: value payment_terms_type: type: integer title: Payment Terms Type total_amount_paid_normalized: title: Total Amount Paid Normalized description: Sum of amount paid in the normalized currency across all records in this invoice report group. example: gt: 0 total_amount_written_off_normalized: title: Total Amount Written Off Normalized description: Sum of amount written off in the normalized currency across all records in this invoice report group. example: gt: 0 total_amount_unpaid_normalized: title: Total Amount Unpaid Normalized description: Sum of amount unpaid in the normalized currency across all records in this invoice report group. example: gt: 0 company_billing_name: title: Company Billing Name description: The billing name of the client company as it appears on this invoice. example: eq: value project: title: Project description: The project associated with this invoice row. example: eq: value amount_credited_with_tax: title: Amount Credited With Tax description: Amount credited including tax on this invoice, in the invoice's own currency. example: gt: 0 project_id: type: integer title: Project description: ID of the project associated with this invoice. example: - 123 invoiced_on_period: title: Invoiced On Period description: Time period grouping for the invoice issued date (e.g. week, month, quarter). example: eq: value company: title: Company description: The client company this invoice is billed to. example: eq: value deal_id: type: integer title: Deal description: ID of the associated budget (deal) whose services are included in this invoice. example: - 123 invoice_delivery_on: title: Invoice Delivery On description: The invoice's delivery date, surfaced as a report column. example: eq: value formula_fields: title: Formula Fields description: User-defined formula field values computed for this report row. example: eq: value created_at: type: string title: Created At format: date description: The invoice's creation timestamp, for use as a report column. example: gt: '2026-01-01' currency_id: type: string title: Currency description: ID of the currency used on this invoice. example: - 123 amount_written_off: title: Amount Written Off description: Amount written off (marked as will never be paid) on this invoice, in the invoice's own currency. example: gt: 0 amount_unpaid: title: Amount Unpaid description: Amount still unpaid on this invoice, in the invoice's own currency. example: gt: 0 total_amount_unpaid_default: title: Total Amount Unpaid Default description: Sum of amount unpaid in the organization's default currency across all records in this invoice report group. example: gt: 0 total_amount_with_tax: title: Total Amount With Tax description: Sum of amount with tax across all records in this invoice report group. example: gt: 0 quarter: type: string title: Quarter description: Quarter dimension for time-based report grouping (deprecated — use invoiced_on_period instead). example: eq: value created_at_period: title: Created At Period description: Time period grouping for the invoice creation date (e.g. week, month, quarter). example: gt: '2026-01-01' week: type: string title: Week description: Week grouping for this invoice report row. example: eq: value invoice_discount: title: Invoice Discount description: The discount applied to this invoice, surfaced as a report column. example: gt: 0 parent_invoice_id: type: integer title: Parent Invoice description: ID of the parent invoice that this credit note credits against (present for credit notes only). example: - 123 total_amount_written_off: title: Total Amount Written Off description: Sum of amount written off across all records in this invoice report group. example: gt: 0 company_report: title: Company Report description: Related company report data for the client in this report group. example: eq: value credited: type: boolean title: Credited description: Whether this invoice has been credited (a credit note has been issued against it). example: eq: value parent_company_id: type: integer title: Parent Company description: ID of the parent company of the client linked to this invoice report entry, used for hierarchical company filtering. example: - 123 automatically_created: type: integer title: Automatically Created description: Whether this invoice was automatically created from a recurring contract budget, rather than manually by a user. example: eq: value total_amount_paid_default: title: Total Amount Paid Default description: Sum of amount paid in the organization's default currency across all records in this invoice report group. example: gt: 0 month: type: string title: Month description: Month dimension for time-based report grouping (deprecated — use invoiced_on_period instead). example: eq: value fuzzy_dates: type: string title: Fuzzy Dates format: date description: Fuzzy date range value used for flexible date filtering across multiple invoice date fields simultaneously. example: gt: '2026-01-01' issuer_id: type: integer title: Issuer description: ID of the person who issued this invoice. example: - 123 average_due_in: type: integer title: Average Due In description: Average number of days until the invoice is due (calculated from invoiced_on to pay_on) across invoices in this report group. example: eq: value group: type: string title: Group description: The grouping dimension for this report row (e.g. company, subsidiary, invoice, time period). Determines how invoices are aggregated. example: eq: value paid_on_period: title: Paid On Period description: Time period grouping for paid on (e.g. week, month, quarter). example: eq: value delivery_on: type: string title: Delivery On format: date description: Date when the goods or services on this invoice were delivered. example: eq: value invoiced_on: type: string title: Invoiced On format: date description: Date this invoice was issued (the official invoice date). example: eq: value formulas: type: integer title: Formulas description: Formula definitions used to compute custom calculated columns in this report. example: eq: value fuzzy_people: type: integer title: Fuzzy People description: People IDs used for fuzzy person-based filtering across multiple invoice person fields simultaneously. example: eq: value creator_report: title: Creator Report description: Related person report data for the invoice creator in this report group. example: eq: value sent_status: enum: - 1 - 2 type: integer title: Sent Status description: Whether this invoice has been sent to the client (sent or unsent). example: eq: active total_amount_tax_normalized: title: Total Amount Tax Normalized description: Sum of amount tax in the normalized currency across all records in this invoice report group. example: gt: 0 total_amount_credited_with_tax_normalized: title: Total Amount Credited With Tax Normalized description: Sum of amount credited with tax in the normalized currency across all records in this invoice report group. example: gt: 0 full_query: type: string title: Full Query description: The full combined query string used to generate this report, including all filters and grouping dimensions. example: eq: value subscriber_id: type: integer title: Subscriber description: ID of the person subscribed to this invoice (receives notifications for recurring invoices). example: - 123 overdue_status: enum: - 1 - 2 type: integer title: Overdue Status description: Overdue status for this invoice report group. example: eq: active id: type: integer title: Id description: Unique identifier for this invoice report row. example: - 123 subsidiary: title: Subsidiary description: The subsidiary (legal entity) this invoice payment is directed to. example: eq: value total_amount: title: Total Amount description: Sum of all invoice amounts (excluding tax) across invoices in this report group, in each invoice's own currency. example: gt: 0 invoice_custom_fields: title: Invoice Custom Fields description: The invoice's custom field values, surfaced as a report column. example: eq: value report: title: Report description: The saved report (filter view) this invoice report row belongs to. example: eq: value pay_on: type: string title: Pay On format: date description: Due date by which this invoice must be paid. example: eq: value currency_normalized: title: Currency Normalized description: Currency code of the organization's common normalized currency used for cross-currency reporting. example: eq: value total_amount_written_off_default: title: Total Amount Written Off Default description: Sum of amount written off in the organization's default currency across all records in this invoice report group. example: gt: 0 delivery_on_period: title: Delivery On Period description: Time period grouping for the delivery date (e.g. week, month, quarter). example: eq: value last_activity_at: type: string title: Last Activity At format: date description: Timestamp of the most recent activity on this invoice. example: gt: '2026-01-01' invoicing_method: enum: - 1 - 2 - 3 type: integer title: Invoicing Method description: The method of invoicing used for this invoice (e.g. manual, automatic from services). example: eq: value amount_credited: title: Amount Credited description: Amount credited (excluding tax) on this invoice, in the invoice's own currency. example: gt: 0 paid_on: type: string title: Paid On format: date description: Paid on for this invoice report group. example: eq: value invoice_type: enum: - 1 - 2 type: integer title: Invoice Type description: The type of this invoice document — invoice or credit note, surfaced as a report column. example: eq: active tax_rates: type: string title: Tax Rates description: Tax rates applied to line items on this invoice. example: gt: 0 subsidiary_id: type: integer title: Subsidiary description: ID of the subsidiary this invoice is issued from. example: - 123 status: enum: - 1 - 2 type: integer title: Status description: Sent status of this invoice (same as sent_status — whether the invoice has been sent to the client). example: eq: active total_amount_credited_normalized: title: Total Amount Credited Normalized description: Sum of amount credited in the normalized currency across all records in this invoice report group. example: gt: 0 issuer: title: Issuer description: The person (subsidiary contact) who issued this invoice on behalf of the organization. example: eq: value total_amount_tax_default: title: Total Amount Tax Default description: Sum of amount tax in the organization's default currency across all records in this invoice report group. example: gt: 0 custom_fields: type: string title: Custom Fields description: Custom field values for the invoice in this row, as a JSON hash keyed by custom field ID. example: eq: value issuer_report: title: Issuer Report description: Related person report data for the invoice issuer in this report group. example: eq: value invoice: title: Invoice description: The invoice associated with this report row (present when grouped by individual invoice). example: eq: value pay_on_period: title: Pay On Period description: Time period grouping for the invoice due date (e.g. week, month, quarter). example: eq: value total_amount_with_tax_default: title: Total Amount With Tax Default description: Sum of amount with tax in the organization's default currency across all records in this invoice report group. example: gt: 0 invoice_status: enum: - 0 - 1 - 2 - 3 - 4 type: integer title: Invoice Status description: Invoice status for this invoice report group. example: eq: active tags: type: string title: Tags description: The tags applied to the invoice in this report row, for filtering or grouping by label. example: eq: value amount_paid: title: Amount Paid description: Amount paid by the client on this invoice, in the invoice's own currency. example: gt: 0 invoice_number: title: Invoice Number description: The invoice's unique number identifier, surfaced as a report column. example: eq: value invoice_sent_on: title: Invoice Sent On description: Invoice sent on for this invoice report group. example: eq: value budget: title: Budget description: The associated budget (deal) for this invoice report row. example: gt: 0 last_activity_at_period: title: Last Activity At Period description: Time period grouping for last activity date (e.g. week, month, quarter). example: gt: '2026-01-01' invoice_state: enum: - 1 - 2 type: integer title: Invoice State description: Invoice state for this invoice report group. example: eq: active creator_id: type: integer title: Creator description: ID of the person who created this invoice. example: - 123 total_amount_credited_with_tax_default: title: Total Amount Credited With Tax Default description: Sum of amount credited with tax in the organization's default currency across all records in this invoice report group. example: gt: 0 total_amount_unpaid: title: Total Amount Unpaid description: Sum of amount unpaid across all records in this invoice report group. example: gt: 0 organization: title: Organization description: The organization that owns this invoice report. example: eq: value invoice_pay_on: title: Invoice Pay On description: The invoice's due date, surfaced as a report column. example: eq: value currency: type: string title: Currency description: Currency for this invoice report group. example: eq: value currency_default: title: Currency Default description: Currency code of the organization's default currency, for normalized financial comparisons. example: eq: value responsible_id: type: integer title: Responsible description: Responsible id for this invoice report group. example: - 123 company_id: type: integer title: Company description: ID of the client company this invoice is billed to. example: - 123 invoice_invoiced_on: title: Invoice Invoiced On description: The date this invoice was issued, surfaced as a report column. example: eq: value invoice_aging: enum: - 0 - 1 - 2 - 3 - 4 type: integer title: Invoice Aging description: 'Aging status of this invoice — categorizes overdue invoices into time brackets: current, 1-15 days overdue, 16-45 days overdue, or 45+ days overdue.' example: eq: value total_amount_credited_with_tax: title: Total Amount Credited With Tax description: Sum of amount credited with tax across all records in this invoice report group. example: gt: 0 sent_on_period: title: Sent On Period description: Time period grouping for sent on (e.g. week, month, quarter). example: eq: value total_amount_credited_default: title: Total Amount Credited Default description: Sum of amount credited in the organization's default currency across all records in this invoice report group. example: gt: 0 payment_status: enum: - 1 - 2 - 3 type: integer title: Payment Status description: Payment status of this invoice — indicates whether it is unpaid, partially paid, or fully paid. example: eq: active creator: title: Creator description: The person who created this invoice. example: eq: value description: An aggregated invoice report row grouping invoices by configurable dimensions with payment totals, aging analysis, and billing metrics. Each row represents one group (e.g. by company, subsidiary, or time period) and exposes the invoice's financial fields — amount, tax, paid, unpaid, written off, and credited — along with period groupings and relationship pointers to company, issuer, and creator. example: id: '123' type: invoice_reports attributes: total_invoiced: 50000 paid: 35000 overdue: 5000 draft: 10000 project_id: 45 relationships: {} _filter_root_payment_report: oneOf: - "$ref": "#/components/schemas/filter_payment_report" - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_payment_report" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and description: Filter schema for `payment_report` list endpoints — pass a single condition or a logical group. example: id: eq: '123' filter_invoice_template: type: object title: Filter invoice template properties: subsidiary_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_template/properties/subsidiary_id" not_eq: "$ref": "#/components/schemas/resource_invoice_template/properties/subsidiary_id" eq: "$ref": "#/components/schemas/resource_invoice_template/properties/subsidiary_id" contains: "$ref": "#/components/schemas/resource_invoice_template/properties/subsidiary_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_invoice_template/properties/subsidiary_id" description: Filter by the associated subsidiary. example: - 123 id: oneOf: - "$ref": "#/components/schemas/resource_invoice_template/properties/id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_template/properties/id" not_eq: "$ref": "#/components/schemas/resource_invoice_template/properties/id" eq: "$ref": "#/components/schemas/resource_invoice_template/properties/id" contains: "$ref": "#/components/schemas/resource_invoice_template/properties/id" description: Filter using explicit operator syntax. example: - 123 description: Filter by invoice template ID. example: - 123 budget_id: oneOf: - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_template/properties/budget_id" contains: "$ref": "#/components/schemas/resource_invoice_template/properties/budget_id" not_eq: "$ref": "#/components/schemas/resource_invoice_template/properties/budget_id" not_contain: "$ref": "#/components/schemas/resource_invoice_template/properties/budget_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_invoice_template/properties/budget_id" description: Filter by the associated budget. example: - 123 custom_fields: oneOf: - type: object title: Operation properties: not_eq: "$ref": "#/components/schemas/resource_invoice_template/properties/custom_fields" not_contain: "$ref": "#/components/schemas/resource_invoice_template/properties/custom_fields" contains: "$ref": "#/components/schemas/resource_invoice_template/properties/custom_fields" eq: "$ref": "#/components/schemas/resource_invoice_template/properties/custom_fields" description: Filter using explicit operator syntax. example: eq: value - "$ref": "#/components/schemas/resource_invoice_template/properties/custom_fields" description: Filter by custom field values. example: eq: value document_type_id: oneOf: - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_template/properties/document_type_id" not_eq: "$ref": "#/components/schemas/resource_invoice_template/properties/document_type_id" eq: "$ref": "#/components/schemas/resource_invoice_template/properties/document_type_id" contains: "$ref": "#/components/schemas/resource_invoice_template/properties/document_type_id" description: Filter using explicit operator syntax. example: - 123 - "$ref": "#/components/schemas/resource_invoice_template/properties/document_type_id" description: Filter by document type. example: - 123 company_id: oneOf: - "$ref": "#/components/schemas/resource_invoice_template/properties/company_id" - type: object title: Operation properties: contains: "$ref": "#/components/schemas/resource_invoice_template/properties/company_id" not_contain: "$ref": "#/components/schemas/resource_invoice_template/properties/company_id" eq: "$ref": "#/components/schemas/resource_invoice_template/properties/company_id" not_eq: "$ref": "#/components/schemas/resource_invoice_template/properties/company_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by client company. example: - 123 issuer_id: oneOf: - "$ref": "#/components/schemas/resource_invoice_template/properties/issuer_id" - type: object title: Operation properties: not_contain: "$ref": "#/components/schemas/resource_invoice_template/properties/issuer_id" eq: "$ref": "#/components/schemas/resource_invoice_template/properties/issuer_id" not_eq: "$ref": "#/components/schemas/resource_invoice_template/properties/issuer_id" contains: "$ref": "#/components/schemas/resource_invoice_template/properties/issuer_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the person set as the invoice issuer. example: - 123 creator_id: oneOf: - "$ref": "#/components/schemas/resource_invoice_template/properties/creator_id" - type: object title: Operation properties: eq: "$ref": "#/components/schemas/resource_invoice_template/properties/creator_id" contains: "$ref": "#/components/schemas/resource_invoice_template/properties/creator_id" not_eq: "$ref": "#/components/schemas/resource_invoice_template/properties/creator_id" not_contain: "$ref": "#/components/schemas/resource_invoice_template/properties/creator_id" description: Filter using explicit operator syntax. example: - 123 description: Filter by the person who created the invoice template. example: - 123 patternProperties: {} description: Filter parameters for invoice templates used in automatic invoicing. example: id: eq: '123' resource_deal_cost_rate: type: object title: Deal cost rate Resource properties: currency: type: string title: Currency description: The currency of the cost rate. example: eq: value organization: title: Organization description: The organization this deal cost rate belongs to. example: eq: value person: title: Person description: The person this cost rate applies to. example: eq: value deal_id: type: integer title: Deal description: The ID of the deal (budget) this cost rate applies to. example: - 123 person_id: type: integer title: Person description: The ID of the person this cost rate applies to. example: - 123 deal: title: Deal description: The deal (budget) this cost rate applies to. example: eq: value rate_cents: type: number title: Rate Cents description: The cost rate in cents (smallest currency unit). example: gt: 0 description: A person-specific cost rate override for a deal, used when the person's cost differs from the standard salary rate. example: id: '89' type: deal_cost_rates attributes: rate: '120.00' currency: USD valid_from: '2026-01-01' relationships: deal: data: type: deals id: '89' person: data: type: people id: '12' resource_contract: type: object title: Contract Resource properties: next_occurrence_on: type: string title: Next Occurrence On format: date description: The date of the next occurrence. example: eq: value starts_on: type: string title: Starts On format: date description: Date when this contract starts. example: eq: value use_rollover_hours: type: boolean title: Use Rollover Hours description: Whether to roll over unused hours. example: eq: value template_id: title: Template description: ID of the budget used as the template for generating new budgets from this contract. example: - 123 copy_purchase_order_number: type: boolean title: Copy Purchase Order Number description: Whether to copy the purchase order number. example: PO-2024-017 id: type: integer title: Id description: The unique identifier of this contract. example: - 123 organization: title: Organization description: The organization this contract belongs to. example: eq: value ends_on: type: string title: Ends On format: date description: Date when this contract ends, or null if it has no end date. example: eq: value interval_id: type: integer title: Interval description: ID of the recurrence interval of this contract (alias for contract_interval_id). example: - 123 contract_interval_id: type: integer title: Contract Interval description: ID of the recurrence interval (e.g. monthly, quarterly, annually) for this contract. example: - 123 template: title: Template description: The budget used as the template for generating new budgets from this contract. example: eq: value copy_expenses: type: boolean title: Copy Expenses description: Whether to copy expenses from the template. example: eq: value description: A recurring retainer contract that auto-generates budgets at set intervals with optional rollover of unused amounts. example: id: '11' type: contracts attributes: name: Master Services Agreement status: active start_date: '2026-01-01' end_date: '2026-12-31' created_at: '2026-01-01T00:00:00.000+00:00' relationships: company: data: type: companies id: '65111' resource_automatic_invoicing_rule: type: object title: Automatic invoicing rule Resource properties: reference_date: enum: - start_date - end_date type: string title: Reference Date description: The reference date used to calculate when invoices are created (e.g. period_start, period_end). example: gt: '2026-01-01' budget_id: type: integer title: Budget description: The ID of the budget this automatic invoicing rule applies to. example: - 123 skip_weekends: type: boolean title: Skip Weekends description: When true, invoice creation is shifted to the next working day if the scheduled date falls on a weekend. example: eq: value creator: title: Creator description: The person who created this automatic invoicing rule. example: eq: value next_invoice_date: type: string title: Next Invoice Date format: date description: The next scheduled date on which an invoice draft will be automatically created. example: gt: '2026-01-01' created_at: title: Created At description: Timestamp when the automatic invoicing rule was created. example: gt: '2026-01-01' organization: title: Organization description: The organization this automatic invoicing rule belongs to. example: eq: value creation_offset_unit: enum: - day - week - month type: string title: Creation Offset Unit description: The time unit for the creation offset (e.g. days, weeks, months). example: eq: value budget: title: Budget description: The budget this automatic invoicing rule applies to. example: gt: 0 creation_offset: type: integer title: Creation Offset description: Number of time units to offset invoice creation from the reference date. example: eq: value id: type: integer title: Id description: Unique identifier for the automatic invoicing rule. example: - 123 creator_id: type: integer title: Creator description: The ID of the person who created this automatic invoicing rule. example: - 123 processed_at: type: string title: Processed At format: date-time description: An automatic invoicing rule defines when invoice drafts are automatically created for a budget. example: id: '7' type: automatic_invoicing_rules attributes: name: Monthly invoicing active: true created_at: '2023-06-01T00:00:00.000+02:00' relationships: organization: data: type: organizations id: '109' _filter_root_todo: oneOf: - type: object title: Advanced filters properties: "$op": enum: - or - and type: string description: Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match. example: and patternProperties: "^[0-9]+$": "$ref": "#/components/schemas/_filter_root_todo" description: A logical filter group — combine multiple conditions with the `$op` operator. required: - "$op" example: '0': id: eq: '123' "$op": and - "$ref": "#/components/schemas/filter_todo" description: Filter schema for `todo` list endpoints — pass a single condition or a logical group. example: id: eq: '123' resource_user: type: object title: User Resource properties: locale: enum: - en_US - de_DE - fr_FR - es_ES - it_IT type: string title: Locale description: The preferred language locale for this user's interface. example: eq: value last_name: type: string title: Last Name description: The last name of the user. example: eq: value updated_at: type: string title: Updated At format: date-time description: Timestamp when this user was last updated. example: gt: '2026-01-01' default_organization_id: type: integer title: Default Organization description: ID of the organization this user logs into by default. example: - 123 sysadmin: type: boolean title: Sysadmin description: When true, this user has system administrator privileges. example: eq: value first_name: type: string title: First Name description: The first name of the user. example: eq: value newsletter_consent_at: type: string title: Newsletter Consent At format: date-time description: Timestamp when the user gave newsletter consent, or null if not consented. example: gt: '2026-01-01' newsletter_consent: title: Newsletter Consent description: When true, the user has consented to receive marketing newsletters. example: eq: value email: type: string title: Email description: The email address used to log in to Productive. example: eq: value avatar_url: type: string title: Avatar Url description: URL of the user's profile avatar image. example: eq: value default_organization_slug: title: Default Organization Slug description: URL slug of the user's default organization. example: eq: value ical_token: type: string title: Ical Token description: Authentication token used to access this user's iCal calendar feed. example: eq: value intercom_hash: title: Intercom Hash description: HMAC hash used to verify this user's identity with Intercom. example: eq: value two_factor_auth: type: boolean title: Two Factor Auth description: When true, two-factor authentication is enabled for this user. example: eq: value sso_provision: type: boolean title: Sso Provision description: When true, this user account was provisioned via single sign-on. example: eq: value flags: type: object title: Flags description: Feature flag overrides applied to this user's account. example: eq: value time_zone: type: string title: Time Zone description: The IANA time zone identifier for this user's preferred time zone. example: gt: 0 preferences: type: string title: Preferences description: User interface preferences and settings stored as key-value pairs. example: eq: value account_access_expires_at: type: string title: Account Access Expires At format: date-time description: The account access expires at. example: gt: '2026-01-01' sysadmin_permissions: type: object title: Sysadmin Permissions description: The specific system administrator permissions granted to this user. example: eq: value description: A user represents a login account in Productive, holding authentication credentials and preferences. It is distinct from a person, which represents the employee profile linked to an organization. example: id: '28' type: users attributes: updated_at: '2026-04-15T21:36:35.262+02:00' email: stjepan.hadjic@productive.io first_name: Stjepan last_name: Hadjić time_zone: Zagreb avatar_url: https://files.productive.io/people/avatars/2b43c75d-4ed4-4fa6-bb0f-b9f7341d6548/thumb/Productive-281-ova_copy.jpg default_organization_id: 109 default_organization_slug: 109-productive intercom_hash: 9bf829ef0d00e44a74b67a8f5a977d6bfa5563bd7af914adb3a55b95e00099d5 flags: docs: true aiSearch: true biAccess: true resolveIds: true automations: true customRoles: true ganttLayout: true permissions: true apiSkipCache: true paramsStruct: true newReportView: true searchNoCount: true escToBlurInput: true myTimeCalendar: true docsAnchorLinks: true newTimeInterval: true economicCustomer: true projectTemplates: true positioningRevamp: true redesignedSidebar: true debugRepositioning: true navigationByModule: true personManagerField: true reportsQueryFields: true thirdLevelGrouping: true mainSidebarQuickAdd: true time_entry_interval: true docsNewMentionSearch: true newRelationshipJoins: true jumpSearchQuickSearch: true tasksNewMentionSearch: true apiAttributesOnlyCache: false multiselect_custom_field: true rebrandingModalDismissed: true projectNavigationRedesign: true personNicknameCustomization: true dismissedDashboardIntroductionModal: true optimizedNestedServicePickerForTimeTracking: true newsletter_consent: false newsletter_consent_at: ical_token: preferences: "{\"theme\":\"system\",\"is_board_switcher_open\":true,\"is_sidebar_expanded\":true,\"is_weekend_collapsed\":false,\"scheduling_is_spacy\":false,\"activity_filter_params\":{\"task\":{\"type\":[\"comment\",\"changeset\",\"email\"],\"parent_type\":[\"project\",\"task\",\"page\",\"deal-invoice\",\"deal\",\"invoice\",\"person\",\"company\"],\"has_attachments\":false},\"project\":{\"type\":[\"comment\"],\"parent_type\":[\"deal-invoice\",\"deal\",\"invoice\",\"person\",\"company\",\"task\",\"page\"],\"has_attachments\":true},\"person\":{\"type\":[\"comment\",\"changeset\",\"email\"],\"parent_type\":[\"project\",\"task\",\"page\",\"deal-invoice\",\"deal\",\"invoice\",\"person\",\"company\",\"purchase_order\"],\"has_attachments\":false},\"person_work_log\":{\"type\":[\"comment\",\"changeset\",\"email\"],\"parent_type\":[\"task\",\"deal-invoice\",\"deal\",\"invoice\"],\"has_attachments\":false}},\"is_notifications_compact\":false,\"scheduling_layout_id\":\"people\",\"app_entry_event_time\":1604560856897,\"is_do_not_disturb_enabled\":false,\"is_closed_todos_shown\":false,\"notifications_auto_advance_mode\":\"older\",\"scheduling_row_layout_id\":\"stacked\",\"frequent_emojis\":[\"\U0001F637\",\"\U0001F525\",\"⚠️\",\"\U0001F5D1\",\"\U0001F4CF\",\"\U0001F31F\",\"\U0001F4A8\",\"✈️\",\"\U0001F4D6\",\"⌚\",\"\U0001F622\",\"\U0001F31F\",\"\U0001F6E0\",\"\U0001F929\",\"\U0001F3B2\",\"\U0001F48E\",\"\U0001F3D7\",\"\U0001F4DD\",\"\U0001F4DA\",\"\U0001F4A1\",\"\U0001F937\",\"\U0001F525\",\"❄️\",\"\U0001F937\",\"\U0001F4AB\",\"\U0001F517\",\"1️⃣\",\"2️⃣\",\"1️⃣\",\"\U0001F44D\",\"⌨\",\"\U0001F9F3\",\"\U0001F44D\",\"\U0001F44D\",\"\U0001F44D\",\"\U0001F62D\",\"\U0001F44D\",\"\U0001F44D\",\"\U0001F4D8\",\"\U0001F4D6\",\"\U0001F44D\",\"\U0001F44D\",\"\U0001F4EA\",\"\U0001F4EB\",\"❓\",\"\U0001F4D6\",\"\U0001F44D\",\"\U0001F44D\",\"\U0001F929\",\"\U0001F44D\"],\"is_time_interval_info_popover_dismissed\":true,\"is_todo_list_collapsed\":false,\"is_subtask_list_collapsed\":false,\"time_layout_id\":\"1\",\"show_shrinked_capacity_indicators_in_scheduling\":true,\"active_time_entry_suggestions\":[\"3\"],\"pinned_time_entry_service_ids\":[\"4300991\"],\"is_closed_subtasks_shown\":false,\"tasks_layout_id\":\"100\",\"draft_comments\":{\"task2086759\":{\"comment_hidden\":false,\"comment_body\":\"